2017-03-03 3 views
1

私のAndroidアプリでBranch.ioを正しく初期化することはできません。ここでAndroidのBranch.io initSessionがnullを返す

は私のAndroidManifest.xmlです:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.xxx.xxxx.app" 
android:versionCode="150" 
android:versionName="2.8.1 (150)" > 

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.WAKE_LOCK" /> 
<uses-permission android:name="android.permission.VIBRATE" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> 
<uses-permission android:name="android.permission.RECORD_AUDIO" /> 
<uses-permission android:name="android.permission.CAMERA" /> 
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> 
<uses-permission android:name="android.permission.CALL_PHONE"/> 

<uses-feature android:name="android.hardware.camera" android:required="true" /> 
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" /> 
<uses-feature android:name="android.hardware.telephony" android:required="false"/> 

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme"> 

    <!-- Branch.io values --> 
    <!-- <meta-data android:name="io.branch.sdk.TestMode" android:value="true" /> --> 
    <meta-data android:name="io.branch.sdk.BranchKey" android:value="@string/branch_key" /> 
    <receiver android:name="io.branch.referral.InstallListener" android:exported="true"> 
     <intent-filter> 
      <action android:name="com.android.vending.INSTALL_REFERRER" /> 
     </intent-filter> 
    </receiver> 


    <activity 
     android:name=".activities_fragments.CXMainActivity" 
     android:screenOrientation="portrait" 
     android:configChanges="orientation|keyboardHidden|keyboard|screenSize" 
     android:windowSoftInputMode="adjustPan"> 

     <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 
     <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 

     <intent-filter> 
      <data android:scheme="@string/branch_uri_scheme" android:host="@string/branch_host" /> 
      <action android:name="android.intent.action.VIEW" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <category android:name="android.intent.category.BROWSABLE" /> 
     </intent-filter> 

    </activity> 
</application> 

これは私のメインの活動コードです:

protected void onStart() 
{ 
    super.onStart(); 
    if(!initiatedBranchDeepLinks) { 
     // Configure Branch.io 
     initiatedBranchDeepLinks = true; 
     Branch branch = Branch.getInstance(); 
     branch.initSession(new Branch.BranchReferralInitListener(){ 
      @Override 
      public void onInitFinished(JSONObject referringParams, BranchError error) { 
       if (error == null) { 
        // params are the deep linked params associated with the link that the user clicked -> was re-directed to this app 
        // params will be empty if no data found 
        // ... insert custom logic here ... 
        String message = "Branch.io onInitFinished. Params: " + referringParams.toString(); 
        Log.d(TAG, message); 

       } else { 
        Log.i(TAG, error.getMessage()); 
       } 
      } 
     }, this.getIntent().getData(), this); 
    } 
} 

私は別のアプリを持って、Android上で実行されていると、彼らがいるように見えます同じですが何らかの理由で、私がbranch.initSession(...)を呼び出すと、nullを返します。

アイデア?あなたがgetAutoInstanceを(持っている場合

+0

)のinitSessionを呼び出さないのですか? –

+0

私はそうではありません。それは必要ですか?他のプロジェクト(動作するプロジェクト)を確認したところ、カスタムアプリケーションがあります。 – JustLearningAgain

+0

(UPDATE)私はBranch.getAutoInstance(これ)でカスタムアプリケーションを入れて、私は走っています!!!ありがとう! – JustLearningAgain

答えて

0
Branch.getAutoInstance(this) -> Branch.getAutoInstance(this, true) 
Branch.getInstance(context) -> Branch.getInstance() 

は、ここでカスタムアプリケーションのクラスを使用してい

関連する問題