方便 unity 集成使用 openinstall global
右击 Assets
,选择 Import Package
中的 Custom Package...
在文件选择框中选中 openinstallglobal.unitypackage
,导入所有文件
将 Assets/Plugins/OpenInstall
下的 OpenInstall.prefab
拖入对应的场景中使用 openinstall 实现业务逻辑
前往 openinstall global 官网,注册账户,登录管理控制台,创建应用后,跳过 "集成指引",在 "应用集成" 的对应平台的 "应用配置" 中获取 appkey
和 scheme
以及 iOS 的关联域名。
备注:
- 如果用户使用了
IMPL_APP_CONTROLLER_SUBCLASS
宏生成自己的customAppController
文件(或其它自定义名称),请在该文件中添加一键拉起的回调方法,并删除掉Assets/Plugins/iOS/libs
中的CustomAppController.mm
文件;
在 Info.plist 文件中配置 appKey 键值对,如下:
<key>com.openinstall.APP_KEY</key>
<string>从openinstall用户控制台获取的应用appkey</string>
对于iOS,为确保能正常跳转,AppID必须开启Associated Domains功能,请到苹果开发者网站,选择Certificate, Identifiers & Profiles,选择相应的AppID,开启Associated Domains。
注意:当AppID重新编辑过之后,需要更新相应的mobileprovision证书。
如果已经开启过Associated Domains功能,进行下面操作:
在 Info.plist
文件中,在 CFBundleURLTypes
数组中添加应用对应的 scheme
,或者在工程“TARGETS-Info-URL Types”里快速添加,图文配置请看Unity3d接入指南
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLName</key>
<string>openinstall</string>
<key>CFBundleURLSchemes</key>
<array>
<string>"从openinstall官网后台获取应用的scheme"</string>
</array>
</dict>
</array>
将 sample/Android
目录中的 AndroidManifest.xml
文件拷贝到项目的 Assets/Plugin/Android/
目录下,并修改文件内容:将 openinstall 为应用分配的 appkey
和 scheme
替换至相应位置
-
如果需要使用自己的拉起
Activity
,可参考sample/Android/src
目录中的OgUnityActivity.java
在拉起Activity
的onCreate(Bundle savedInstanceState)
和onNewIntent(Intent intent)
中添加拉起处理代码 -
如果需要使用自定义的
Application
,请参考sample/Android/src
目录中的OgUnityApplication.java
在自定义Application
的onCreate()
函数中调用初始化方法OpenInstall.initialize(this);
。
使用 OpenInstall
之前,请先导入命名空间
using io.openinstall.unity;
然后通过 GameObject
获取 OpenInstall
实例
private OpenInstall openinstall;
void Start () {
openinstall = GameObject.Find("OpenInstall").GetComponent<OpenInstall>();
}
openinstall.Init();
注意:
openinstall.Init(permission);
接口已移除,请使用新的初始化接口
完成文档前面iOS和Android介绍的一键拉起相关配置
在 Start
方法中,获取到实例并初始化之后注册拉起回调,并在回调中获取拉起数据
openinstall.RegisterWakeupHandler(getWakeupFinish);
public void getWakeupFinish(OpenInstallData wakeupData)
{
Debug.Log("OpenInstallUnity getWakeupFinish : 渠道编号=" +wakeupData.channelCode
+ ", 自定义数据=" + wakeupData.bindData);
}
在应用需要安装参数时,调用以下 api 获取由 SDK 保存的安装参数,可设置超时时长(一般为8~15s),单位秒
openinstall.GetInstall(10, getInstallFinish);
public void getInstallFinish(OpenInstallData installData)
{
Debug.Log("OpenInstallUnity getInstallFinish : 渠道编号=" + installData.channelCode
+ ",自定义数据=" + installData.bindData
+ ",是否需要重试=" + installData.shouldRetry);
}
SDK 会自动完成访问量、点击量、安装量、活跃量、留存率等统计工作。其它业务相关统计由开发人员使用 api 上报
根据自身的业务规则,在确保用户完成 app 注册的情况下调用 api
openinstall.ReportRegister();
统计终端用户对某些特殊业务的使用效果,如充值金额,分享次数等等。
请在 openinstall 控制台 的 “效果点管理” 中添加对应的效果点
调用接口进行效果点的上报,第一个参数对应控制台中的 效果点ID
openinstall.ReportEffectPoint("effect_test", 1);
请在 openinstall 控制台 的 “效果点管理” 中添加对应的效果点,并启用“记录明细”,添加自定义参数
Dictionary<string,string> extraDict = new Dictionary<string, string>();
extraDict.Add("k1", "v1");
extraDict.Add("k2", "v2");
openinstall.ReportEffectPoint("effect_detail", 1, extraDict);
分享上报主要是统计某个具体用户在某次分享中,分享给了哪个平台,再通过JS端绑定被分享的用户信息,进一步统计到被分享用户的激活回流等情况。
openinstall.ReportShare("123456", "QQ", reportFinish);
可根据返回的数据中的shouldRetry
决定是否需要重试,以及message
查看失败的原因
public void reportFinish(OpenInstallData shareData)
{
Debug.Log("OpenInstallUnity reportFinish : shouldRetry=" + shareData.shouldRetry);
}