unity3d 接入指引

openinstall 已为开发者打包生成了 unitypackage ,只需将 package 拖拽到工程中并导入所有文件,然后按照文档做少量配置即可使用 openinstall 提供的所有功能

获取 package 和文档

openinstall-unity-sdk

导入 openinstall.unitypackage

右击Assets,选择Import Package中的Custom Package...

在文件选择框中选中openinstall.unitypackage,导入所有文件

Assets/Plugins/OpenInstall下的OpenInstall.prefab拖入对应的场景中使用 openinstall 实现业务逻辑

平台配置

请根据使用指南来做对应配置

iOS 平台

无需写一句Object-C代码,只需进行如下配置

_备注:

  • 如果用户使用了IMPL_APP_CONTROLLER_SUBCLASS宏生成自己的customAppController,请在自己的customAppController中添加初始化方法和拉起回调方法,并删除掉Assets/Plugins/iOS/libs中的CustomAppController.mm文件;
  • 如果用户使用了 iOS9.0 新 APIapplication:openURL:options:,请在新 API 中添加if ([OpenInstallSDK handLinkURL:url]) return YES;回调判断_
初始化配置

在 Info.plist 文件中配置 appKey 键值对,如下:

<key>com.openinstall.APP_KEY</key>
<string>从openinstall官网后台获取应用的appkey</string>

以下为iOS一键拉起功能相关配置

universal links配置(iOS9以后推荐使用)

对于iOS,为确保能正常跳转,AppID必须开启Associated Domains功能,请到苹果开发者网站,选择Certificate, Identifiers & Profiles,选择相应的AppID,开启Associated Domains。注意:当AppID重新编辑过之后,需要更新相应的mobileprovision证书。(图文配置步骤请看iOS集成指南),如果已经开启过Associated Domains功能,进行下面操作:

  • 在左侧导航器中点击您的项目
  • 选择Capabilities标签
  • 打开Associated Domains开关
  • 添加 openinstall 官网后台中应用对应的关联域名(openinstall应用控制台->iOS集成->iOS应用配置->关联域名(Associated Domains))
scheme配置

Info.plist文件中,在CFBundleURLTypes数组中添加应用对应的scheme,或者在工程“TARGETS-Info-URL Types”里快速添加,图文配置请看iOS集成指南

    <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>

Android 平台

简单配置

sample/Android目录中的AndroidManifest.xml文件拷贝到项目的Assets/Plugin/Android/目录下,并修改文件内容:将 openinstall 为应用分配的appkeyscheme替换至相应位置
(scheme的值详细获取位置:openinstall应用控制台->Android集成->Android应用配置)

自定义配置
  1. 如果项目已存在自己的AndroidManifest.xml文件,根据下图标注的内容做相应的更改:

  2. 如果拥有自己的Application,可参考sample/Android/src目录中的OiApplication.java修改自己的Application对 openinstall 进行初始化,此时AndroidManifest.xml中的application设置仍然使用自己的Application

  3. 如果需要使用自己的拉起Activity,可参考sample/Android/src目录中的OiUnityActivity.java在拉起ActivityonCreate(Bundle savedInstanceState)onNewIntent(Intent intent)中添加拉起处理代码

使用指南

除了快速下载功能,其他功能都需要先导入空间命令并获取实例

使用OpenInstall之前,请先导入命名空间

using io.openinstall.unity;

然后通过GameObject获取OpenInstall实例

private OpenInstall openinstall;
void Start () {
    openinstall = GameObject.Find("OpenInstall").GetComponent<OpenInstall>();
}

1 快速下载

如果只需要快速下载功能,无需其它功能(携带参数安装、渠道统计、一键拉起),完成初始化相关工作即可

2 一键拉起

完成文档前面iOS和Android介绍的一键拉起相关配置
获取拉起数据

Start方法中,获取到实例之后注册拉起回调,这样当 App 被拉起时,会回调方法,并可在回调中获取拉起数据

openinstall.RegisterWakeupHandler(getWakeupFinish);
public void getWakeupFinish(OpenInstallData wakeupData)
{
    Debug.Log("OpenInstallUnity getWakeupFinish : 渠道编号=" +wakeupData.channelCode 
            + ", 自定义数据=" + wakeupData.bindData);
}

3 携带参数安装高级版功能

获取安装数据

在应用需要安装参数时,调用以下 api 获取由 SDK 保存的安装参数,可设置超时时长(一般为8~15s),单位秒

openinstall.GetInstall(10, getInstallFinish);
public void getInstallFinish(OpenInstallData installData)
{
    Debug.Log("OpenInstallUnity getInstallFinish : 渠道编号=" + installData.channelCode 
            + ",自定义数据=" + installData.bindData);
}

_备注:

  • 注意这个安装参数尽量不要自己保存,在每次需要用到的时候调用该方法去获取,因为如果获取成功sdk会保存在本地
  • 该方法可重复获取参数,如需只要在首次安装时获取,可设置标记,详细说明可参考openinstall官网的常见问题

4 渠道统计高级版功能

SDK 会自动完成访问量、点击量、安装量、活跃量、留存率等统计工作。其它业务相关统计由开发人员代码埋点上报
4.1 注册上报

在用户注册成功后,调用接口上报注册量

openinstall.ReportRegister();
4.2 效果点上报

统计终端用户对某些特殊业务的使用效果,如充值金额,分享次数等等。调用接口前,请先进入 openinstall 管理后台 “效果点管理” 中添加效果点,第一个参数对应管理后台 效果点ID

openinstall.ReportEffectPoint("effect_test", 1);