0
我正在使用Branch.io進行深度鏈接。如果已安裝的應用程序,一切工作正常,但如果這是在安裝應用程序後第一次運行,然後永遠不會執行(內部調用onStart)Branch.io在Android上安裝後首次運行時檢索BranchUniversalObject
Branch branch = Branch.getAutoInstance(getApplicationContext());
branch.initSession(new Branch.BranchUniversalReferralInitListener() {
@Override
public void onInitFinished(BranchUniversalObject branchUniversalObject,
LinkProperties linkProperties, BranchError branchError) {
DeepLinkUtil.processBranchIntent(branchUniversalObject);
}
});
我不是從Play商店中安裝下面的代碼,但從服務器下載。當我點擊鏈接時,下載從瀏覽器開始,然後我可以點擊下載的APK來安裝它。安裝完成後,第一次打開APK時,上面的代碼永遠不會執行。
我已經添加以下代碼在調用onStart():
Branch branch = Branch.getAutoInstance(getApplicationContext());
JSONObject installParams = branch.getFirstReferringParams();
if (installParams == null) {
Log.d(TAG, "processIntent: installParams: null");
} else {
Log.d(TAG, "processIntent: installParams: " + installParams.toString());
}
當首次運行安裝後,安裝PARAMS不爲空,但空 - {}。第二次運行時,安裝params包含來自點擊鏈接的正確信息,但'is_first_session'現在爲false。
我確實安裝了在清單中註冊的referrer接收器,但我不清楚它是否適用於PlayStore只安裝或任何安裝。
在安裝後第一次運行時,我還需要做些什麼來獲取推薦鏈接?
不確定你在#2中的含義。我在我的問題中發佈的所有內容均來自Activity的onStart()。在應用程序的onCreate()我有Branch.getAutoInstance()和Branch.enablePlayStoreReferrer()。 –
這可能是問題 - 你有一些代碼(特別是'Branch.getAutoInstance'),它根本不應該在Activity中。我建議通過集成指令返回,以確保一切都按計劃進行。 –
你是對的,我混淆了Branch.getAutoInstance()和Branch.getInstance() - 不是名稱的最佳選擇:)不確定這是否是問題的根源,需要進一步實驗。 –