目的git
一、Unity集成openinstall sdk?即免填邀請碼安裝的渠道追蹤統計服務github
最近在使用一個叫openinstall的SDK,經過它實現免填邀請碼的功能,集成到unity遊戲開發中。對App安裝流程的優化,尤爲是免填寫邀請碼安裝,App推廣的有獎邀請活動更大程度的達到推廣爆炸式的效果。api
在分享連接自定義各類動態參數(如推廣渠道號,邀請碼,遊戲房間號,用戶id等等)。經過在分享連接url中附帶app邀請人的用戶id,就可達到免填邀請碼的效果;或者app經過在url中附帶遊戲房間號實現直達遊戲房間也可創建上下級關係;unity開發中免不了邀請用戶得到獎勵;新老用戶直達遊戲場景;從各類瀏覽器一鍵拉起遊戲場景等等;數組
那麼如何在unity集成openinstall呢?是的,沒錯,openinstall平臺整合了方便 unity 集成使用 openinstall的方案步驟瀏覽器
註冊/登陸openinstall開發者平臺http://developer.openinstall.io/並建立應用app
能夠參考官方文檔測試
右擊 Assets
,選擇 Import Package
中的 Custom Package...
優化
在文件選擇框中選中 openinstall.unitypackage
,導入全部文件this
將 Assets/Plugins/OpenInstall
下的 OpenInstall.prefab
拖入對應的場景中使用 openinstall 實現業務邏輯url
無需寫一句Object-C代碼,只需進行以下配置
備註:
一、若是用戶使用了 IMPL_APP_CONTROLLER_SUBCLASS
宏生成本身的 customAppController
,請在本身的 customAppController
中添加初始化方法和拉起回調方法,並刪除掉 Assets/Plugins/iOS/libs
中的 CustomAppController.mm
文件;
二、若是用戶使用了 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>
對於iOS,爲確保能正常跳轉,AppID必須開啓 Associated Domains 功能,請到 蘋果開發者平臺,選擇 Certificate, Identifiers & Profiles
,選擇相應的 AppID,開啓 Associated Domains。注意:當 AppID 從新編輯過以後,須要更新相應的 mobileprovision 證書。(詳細步驟請看openinstall官網後臺文檔,universal link需從後臺獲取)
在 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>
將 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);
打包測試