目录

初始化SDK

优质
小牛编辑
142浏览
2023-12-01

初始化SDK

在整个应用程序中,初始化sdk要放在application的oncreate方法中,该方法在整个应用的生命周期里只需要调用一次,且必须在主进程调用

注意:如果在App开启时有多进程启动,需要将“initSDK”方法放到主进程中,保证打开App只会调用一次初始化,避免多进程启动导致Application的onCreate方法执行多次 。

公版用户,调用初始化方法如下 :

/** 
* @param context 上下文
* @param siteid 企业id,示例:kf_3004
*/
if (getApplicationInfo().packageName.equals(getProcessName(getApplicationContext()))) {
    Ntalker.getInstance().initSDK(Context context, String siteID);
}

如何获取processName请参考以下方法。

private String getProcessName(Context context) {
int pid = android.os.Process.myPid();
ActivityManager mActivityManager = (ActivityManager) context
.getSystemService(Context.ACTIVITY_SERVICE);
for (ActivityManager.RunningAppProcessInfo appProcess : mActivityManager
.getRunningAppProcesses()) {
if (appProcess.pid == pid) {
return appProcess.processName;
}
}
return null;
}

独立部署的用户,如果需要更改服务器地址,请使用以下初始化方法;serverAddress为独立部署的服务器地址。

/**
 * 初始化SDK,并可设置服务器地址
 * @param context 上下文
 * @param siteid 企业id,示例:kf_3004
 * @param serverAddress  入口服务器地址
 */
if (getApplicationInfo().packageName.equals(getProcessName(getApplicationContext()))) {
    Ntalker.getInstance().initSDK(Context context, String siteID, String serverAddress);
}