目的

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. Spring Boot 注解详解

    一.注解(annotations)列表 @SpringBootApplication:包含了@ComponentScan.@Configuration和@EnableAutoConfiguration ...

  2. Visual Studio 2017 发布 15.5 版本,百度网盘离线安装包下载。

    Visual Studio 2017 15.5 版本已正式发布,同时发布的还有 Visual Studio for Mac 7.3 .此次更新包含主要性能改进,新特性以及 bug 修复.发行说明中文版 ...

  3. PHP中::的使用

    访问静态变量,静态属性,const修饰的变量.

  4. 第二十一章 Django的分页与cookie

    第二十一章 Django的分页与cookie 第一课 模板 1.模板的继承 在Template目录下新建模板master.html <!DOCTYPE html> <html lan ...

  5. html5版 音乐播放器

    html5版本音乐播放器,支持iOS设备,案例地址:http://www.xttblog.com/?p=1277 功能说明 支持iOS设备,但是iOS不支持自动下一曲,这是iOS本身限制,支持touc ...

  6. Qt Create or VS 2015 使用 Opencv330 相机静态库链接错误如何解决?

    查看链接库,添加 vfw32.lib 即可.

  7. UVA - 10285 Longest Run on a Snowboard (线性DP)

    思路:d[x][y]表示以(x, y)作为起点能得到的最长递减序列,转移方程d[x][y] = max(d[px][py] + 1),此处(px, py)是它的相邻位置并且该位置的值小于(x, y)处 ...

  8. Java中的自定义数组队列

    在Java中,作为所有数据结构中存储和获取速度最快的一种,数组凭借其这种简单易用的优势在各个方面都能大显神威.但是数组也有自身的局限性.数组的长度必须是固定的一旦定义之后就无法动态的更改,这就会造成这 ...

  9. 99%的人理解错 HTTP 中 GET 与 POST 的区别

    转自:http://www.oschina.net/news/77354/http-get-post-different GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发 ...

  10. ffmpeg tutorial01 再分析

    如下图