tencent cloud

文档反馈

SDK 初始化

最后更新时间:2024-03-04 22:43:53

    配置文件获取

    开发人员从腾讯云小程序平台获取对应 App 的配置文件,该配置文件是一个 json 文件,包含该 App 使用小程序平台的所有信息,将配置文件引入到项目的 assets 根目录。获取配置文件操作,可参见 获取容器 SDK 凭证
    
    
    
    注意:
    应用包名必须与配置文件中 packageName 保持一致,否则运行时无法通过校验。
    如果不一致,不能直接修改配置文件包名,应通过下面两种方式来修正:
    修改工程中应用包名,与配置文件中包名一致。
    控制台修改应用包名,与工程中应用包名保持一致,并重新下载配置文件。
    
    
    

    配置信息设置

    实现 MiniConfigProxy 类
    添加如下注解
    @ProxyService(proxy = MiniConfigProxy.class)
    参考代码:
    @ProxyService(proxy = MiniConfigProxy.class)
    public class MiniConfigProxyImpl extends MiniConfigProxy {
    /**
    * 应用Application
    * @return
    */
    @Override
    public Application getApp() {
    return "app Application";
    }
    
    /**
    * 创建初始化配置信息
    * @return
    */
    @Override
    public MiniInitConfig buildConfig() {
    MiniInitConfig.Builder builder = new MiniInitConfig.Builder();
    MiniInitConfig config = builder
    .configAssetName("tcmpp-android-configurations.json")//assets中配置文件名称
    .imei("IMEI")////配置设备id,⽤于在管理平台上根据设备标识进⾏⼩程序的灰度发布使⽤(可选)
    .debug(true)//日志开关,默认关闭的
    .build();
    }
    }
    继承并实现 MiniConfigProxy 类后,就可以通过启动小程序接口打开小程序了,sdk 内部会自动进行初始化。
    从 mini_core 1.5.1.1版本之后,可通过 MINI_SHARK 过滤日志,确定初始化是否成功,初始化成功会输出:shark init ok!
    
    
    
    如果初始化失败会输出:shark init failed! 及具体错误原因。
    
    
    
    如果初始化失败,可参考如下常见原因进行排查。

    工程编译失败排查

    原因一:出现如下错误
    
    检查工程中是否有如下配置,如果有则去掉。
    kapt.include.compile.classpath=false

    小程序启动失败排查

    原因一:配置文件路径错误,configAssetName 设置的是 assets 目录下文件的完整路径,如果配置文件在子目录下需要追加目录路径,例如:server/tcmpp-android-configurations.json。
    原因二:不允许修改小程序配置文件内容,否则小程序无法正常运行。
    原因三:配置文件中的 packageName 必须与应用的 applicationId 保持一致,否则 App 运行失败,因为初始化时会校验配置文件中的 packageName,可以通过如下设置不进行包名校验。
    MiniInitConfig config = builder
    .verifyPkg(false)//忽略包名校验
    .build();
    
    
    原因四:确定上面初始化注解@ProxyService是否生成了如下类ExtProxyServiceScope
    

    隐私合规说明

    sdk 的初始化是在用户调用 TmfMiniSDK 类的方法时调用的,所以在用户同意隐私合规授权之后,再调用 TmfMiniSDK 类中提供的方法即可。

    其它初始化动作(非必须设置)

    设置地区或者账号,方便进行灰度推送时使用。
    /**
    * 设置账号信息
    * @param userId
    */
    public static void setUserId(String userId)
    
    /**
    * 设置位置信息
    * @param country
    * @param province
    * @param city
    */
    public static void setLocation(String country, String province, String city)

    X5初始化监听(非必须设置)

    如果需要监听X5初始化是否成功,可通过如下方式获取初始化回调。
    @ProxyService(proxy = IX5EventProxy.class)
    public class X5EventProxyImpl implements IX5EventProxy {
    /**
    * X5初始化成功回调
    * @param isX5
    */
    @Override
    public void init(boolean isX5) {
    }
    }
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持