uni-app 集成第三方原生SDK插件需求

发布于 1周前 作者 gougou168 来自 Uni-App

uni-app 集成第三方原生SDK插件需求

现有一个第三方提供的原生SDK,功能是人脸识别,我不会写原生插件,需求将原生SDK做成插件给uniapp使用,兼容安卓APP和小程序,付费帮忙

9 回复

第三方sdk 支持微信小程序?


我搞错了 ,不支持,但是需要小程序收集人脸,不知道能行吗?

回复 7***@qq.com: 小程序应该用H5的吧

回复 II优选: 那你这边能写吗?

回复 7***@qq.com: 原生的,没有问题,小程序的就不了解你们那边是什么样的了

原生sdk可以找我封装。qq 176142998

可以做 专业插件开发 q 1196097915 主页 https://ask.dcloud.net.cn/question/91948

第三方应该也有小程序版本的sdk。可以做。联系:18968864472(同微)

在uni-app中集成第三方原生SDK插件通常涉及几个关键步骤,包括准备原生SDK、编写插件代码以及在uni-app项目中调用插件。以下是一个简化的流程和相关代码示例,用于展示如何在uni-app中集成一个假设的第三方原生SDK(这里以iOS和Android为例)。

1. 准备原生SDK

假设我们有一个第三方原生SDK,名为ThirdPartySDK,已经下载并解压到本地。

2. 编写插件代码

iOS 插件

首先,在native-plugins目录下创建一个新的iOS插件目录,如ThirdPartySDKPlugin

  • ThirdPartySDKPlugin.h
#import <Foundation/Foundation.h>

@interface ThirdPartySDKPlugin : NSObject

+ (void)initializeSDK;
+ (void)someSDKFunction:(NSString *)param callback:(void (^)(NSString *result))callback;

@end
  • ThirdPartySDKPlugin.m
#import "ThirdPartySDKPlugin.h"
#import <ThirdPartySDK/ThirdPartySDK.h>

@implementation ThirdPartySDKPlugin

+ (void)initializeSDK {
    [ThirdPartySDK initialize];
}

+ (void)someSDKFunction:(NSString *)param callback:(void (^)(NSString *result))callback {
    // 调用SDK功能并处理回调
    NSString *result = [ThirdPartySDK someFunctionWithParam:param];
    callback(result);
}

@end

Android 插件

native-plugins目录下创建一个新的Android插件目录,如ThirdPartySDKPlugin

  • ThirdPartySDKPlugin.java
import android.content.Context;
import com.alibaba.fastjson.JSONObject;
import io.dcloud.feature.uniapp.bridge.UniJSCallback;
import io.dcloud.feature.uniapp.common.UniModule;

public class ThirdPartySDKPlugin extends UniModule {
    
    public void initializeSDK() {
        ThirdPartySDK.initialize(mContext);
    }

    public void someSDKFunction(JSONObject param, UniJSCallback callback) {
        String result = ThirdPartySDK.someFunction(param.getString("param"));
        callback.invoke(result);
    }
}

3. 在uni-app项目中调用插件

在uni-app项目的manifest.json中配置插件:

"nativePlugins": [
    {
        "plugins": [
            {
                "type": "module",
                "name": "ThirdPartySDKPlugin",
                "class": "io.dcloud.feature.uniapp.bridge.UniJSCallback"
            }
        ]
    }
]

在页面的JavaScript代码中调用插件:

const thirdPartySDK = uni.requireNativePlugin('ThirdPartySDKPlugin');

thirdPartySDK.initializeSDK();

thirdPartySDK.someSDKFunction({param: 'value'}, (result) => {
    console.log('SDK function result:', result);
});

注意:以上代码仅为示例,具体实现需根据第三方SDK的文档进行调整。

回到顶部