目的

1、Unity集成openinstall sdk?即免填邀请码安装的渠道追踪统计服务

最近在使用一个叫openinstall的SDK,通过它实现免填邀请码的功能,集成到unity游戏开发中。对App安装流程的优化,尤其是免填写邀请码安装,App推广的有奖邀请活动更大程度的达到推广爆炸式的效果。

在分享链接自定义各种动态参数(如推广渠道号,邀请码,游戏房间号,用户id等等)。通过在分享链接url中附带app邀请人的用户id,就可达到免填邀请码的效果;或者app通过在url中附带游戏房间号实现直达游戏房间也可建立上下级关系;unity开发中免不了邀请用户获得奖励;新老用户直达游戏场景;从各种浏览器一键拉起游戏场景等等;

那么如何在unity集成openinstall呢?是的,没错,openinstall平台整合了方便 unity 集成使用 openinstall的方案步骤

注册/登录openinstall开发者平台http://developer.openinstall.io/并创建应用

可以参考官方文档

导入 openinstall.unitypackage

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

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

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

平台配置

iOS 平台

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

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

初始化配置

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

<key>com.openinstall.APP_KEY</key>
<string>从openinstall官网后台获取应用的appkey</string>
universal links配置(iOS9以后推荐使用)

对于iOS,为确保能正常跳转,AppID必须开启 Associated Domains 功能,请到 苹果开发者平台,选择 Certificate, Identifiers & Profiles,选择相应的 AppID,开启 Associated Domains。注意:当 AppID 重新编辑过之后,需要更新相应的 mobileprovision 证书。(详细步骤请看openinstall官网后台文档,universal link需从后台获取)

scheme配置

在 Info.plist 文件中,在 CFBundleURLTypes 数组中添加应用对应的 scheme

	<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 目录中的 AndroidManifest.xml 文件拷贝到项目的 Assets/Plugin/Android/ 目录下,并修改文件内容:将 openinstall 为应用分配的 appkey 和 scheme 替换至相应位置
备注:如已存在 AndroidManifest.xml,请参考文件进行合并处理

使用指南

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

using io.openinstall.unity;

然后通过 GameObject 获取 OpenInstall 实例

private OpenInstall openinstall;
// Use this for initialization
void Start () {
openinstall = GameObject.Find("OpenInstall").GetComponent<OpenInstall>();
}

获取拉起数据

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

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

获取安装数据

在应用需要安装参数时,调用以下 api 获取由 SDK 保存的安装参数,可设置超时时长,单位秒

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

渠道统计

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

注册上报

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

openinstall.reportRegister();
效果点上报

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

openinstall.reportEffectPoint("effect_test", 1);

打包测试

unity集成openinstall流程的更多相关文章

  1. Cocos2d-x 集成openinstall(Android)

    目的: 1. Cocos2d-x集成openinstall sdk? 有这么一个场景,甲给乙分享了链接,乙使用并下载APP,推荐者甲和乙的关系这个思路是怎样的? 你首先想到的也许会说,那当然就是给对方 ...

  2. 基于K2的集成供应链流程解决方案

    基于K2的集成供应链流程解决方案http://www.k2software.cn/zh-hans/scm-solution 一.详细功能模块 需求管理模块多渠道管理.需求计划.需求感知与传递市场营销及 ...

  3. 完整版unity安卓发布流程(包括SDK有原生系统依赖关系的工程)

    要3个东西!NDS,SDK,JDK, NDK官网下载:https://developer.android.google.cn/ndk/downloads/index.html(注意系统是不是64位) ...

  4. ShareSDK For Unity集成

    Mob ShareSDK Android - V2.7.10 iOS - V3.5.0 Mob下载:https://github.com/MobClub/New-Unity-For-ShareSDK ...

  5. unity, 集成iOS广告sdk注意事项

    ----更新:2015-10-22 今天在unity里集成讯飞语音听写的iOS sdk,结果发现前面集成domob广告的方法搞复杂了. 其实,直接把UnityViewControllerBase当做s ...

  6. photon Unity RPC 调用流程

    本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/details/51425225 作者:car ...

  7. (转)Jenkins2.0 Pipeline 插件执行持续集成发布流程 - git -资料 - 不错的文档

    1.Jenkins 2.0 的精髓是 Pipeline as Code Jenkins 2.0 的精髓是 Pipeline as Code,是帮助 Jenkins 实现 CI 到 CD 转变的重要角色 ...

  8. iOS支付宝集成详细流程

    实现支付宝支付的准备工作: 1.向支付宝签约,成为支付宝的商户 签约完成后,支付宝会提供一些必要的数据给我们 商户ID:partner 账号ID:seller 即支付宝账号 签约需要营业执照 2.获取 ...

  9. Unity 集成联通SDK

    我相信Unity程序员都会遇到加入SDK的问题,我相信如果你不会android编程,我相信你的CPU当场计算过快而爆炸!  这里也写笔记希望能帮助大家 如果有讲错的地方,希望大家能回复并且提供答案!  ...

随机推荐

  1. Javascript获取数组中最大和最小值

    取出数组中最大值或最小值是开发中常见的需求,今天继续讲解如何获取javascript数组中最大和最小值. 1.排序法 首先我们给数组进行排序,可以按照从小到大的顺序来排,排序之后的数组中第一个和最后一 ...

  2. 小技巧:selenium java中如何使用chrome默认的profile

    使用浏览器默认的profile可以在一定程度上实现免登录的效果,另外默认的profile中很多文件都被缓存了,也有利于加快测试的速度 System.setProperty("webdrive ...

  3. PHP网站的安全要点

    1. 删除不必要的模块 PHP随带内置的PHP模块.它们对许多任务来说很有用,但是不是每个项目都需要它们.只要输入下面这个命令,就可以查看可用的PHP模块: # php - m 一旦你查看了列表,现在 ...

  4. Centos下安装Lamp和vsftpd、redis

    yum安装httpd和php.mysql服务 yum search httpd //搜索httpd开头的软件包 yum install httpd.x86_64 //找到apache 对应的软件包名 ...

  5. hdu 2018递推

    第n月的牛的数量由第n-1个月的老牛加上n-1个月新生的小牛,得到公式F(n)=F(n-1)+F(n-3) AC代码: #include<cstdio> const int maxn=55 ...

  6. uva1395 枚举不同区间的最小生成树

    枚举起点,求最小生成树.如果当前不能实现n个点连通,直接不再枚举. AC代码: #include<cstdio> #include<algorithm> using names ...

  7. (转载)SVM-基础(一)

    支持向量机: Maximum Margin Classifier  by pluskid, on 2010-09-08, in Machine Learning     87 comments 本文是 ...

  8. flask中jinjia2模板引擎详解3

    接上文 模板继承 Jinji2中的模板继承是jinjia2比较强大的功能之一. 模板继承可以定义一个父级公共的模板,把同一类的模板框架定义出来共享. 这样做一方面可以提取共享代码,减少代码冗余和重复的 ...

  9. Storm日志分析调研及其实时架构

    1.Storm第一个Demo 2.Windows下基于eclipse的Storm应用开发与调试 3.Storm实例+mysql数据库保存 4.Storm原理介绍 5. flume+kafka+stor ...

  10. shell脚本—— 字符串操作(长度,查找,替换)

    表达式 含义 ${var} 变量var的值, 与$var相同 ${var-DEFAULT} 如果var没有被声明, 那么就以$DEFAULT作为其值 * ${var:-DEFAULT} 如果var没有 ...