2017-02-17 4 views
1

내가 만든 간단한 응용 프로그램을 열지 않습니다안드로이드 지점 IO 딥 링크는 하나 <code>Activity</code>으로이 같은 매니페스트 내 응용 프로그램

key_live_XXXXXXXXXXX에서
<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="kz.ant.branchio"> 

    <uses-permission android:name="android.permission.INTERNET" /> 

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

     <meta-data android:name="io.branch.sdk.BranchKey" android:value="key_live_XXXXXXXXXXX" /> 

     <activity android:name=".MainActivity"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

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

      <intent-filter> 
       <data android:scheme="branchiotestapp" android:host="open" /> 
       <action android:name="android.intent.action.VIEW" /> 
       <category android:name="android.intent.category.DEFAULT" /> 
       <category android:name="android.intent.category.BROWSABLE" /> 
      </intent-filter> 
     </activity> 

     <receiver android:name="io.branch.referral.InstallListener" android:exported="true"> 
      <intent-filter> 
       <action android:name="com.android.vending.INSTALL_REFERRER" /> 
      </intent-filter> 
     </receiver> 

    </application> 

</manifest> 

내가 붙여 넣은 내 대시 보드 키를 살고 있습니다.

그런 다음 내 응용 프로그램에서 나는이 추가 한 :

public class MyApp extends Application { 
    @Override 
    public void onCreate() { 
     super.onCreate(); 
     Branch.getAutoInstance(this); 
    } 
} 

MainActivity 코드 줄이 있습니다

@Override 
protected void onStart() { 
    super.onStart(); 

    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 ... 
      } else { 
       Log.i("MyApp", error.getMessage()); 
      } 
     } 
    }, this.getIntent().getData(), this); 
} 

@Override 
public void onNewIntent(Intent intent) { 
    this.setIntent(intent); 
} 

내 응용 프로그램 URI 방식은 내가 이해 branchiotestapp:// 사용자가 클릭과 연결할 때입니다 이 제도는 내 신청서를 열어야한다. 나는이 링크에 내 휴대 전화의 브라우저와 clickt이 HTML을 열 때이

를 설치 한 경우

<html> 
    <head> 
     <title>Test</title> 
    </head> 

    <body> 
     <a href="branchiotestapp://mysite.com">CLICK</a> 
    </body> 
</html> 

, 내 안드로이드 응용 프로그램 도 열리지 않습니다 : 그럼이 코드로 간단한 HTML 웹 페이지를 만들었습니다

왜 이런 일이 발생합니까? branch.io가 어떻게 작동하는지 오해 했습니까?

답변

2

여기 웹 페이지에 올린 링크가 있습니다.

분기를 사용할 때 자신의 의도 문자열을 구성하지 않습니다. 분기 링크를 사용합니다. 앱의 지점 대시 보드, 마케팅 페이지 (여기서는 https://dashboard.branch.io/marketing)에서 지점 링크를 만들 수 있습니다. 지점 SDK 호출을 사용하여 모바일 앱에서 지점 링크 도메인 (대시 보드의 링크 설정 페이지 하단에서 찾을 수 있음, https://dashboard.branch.io/settings/link)에 쿼리 매개 변수를 추가하면됩니다. 다양한 방법에 대한 자세한 설명은 여기에서 찾을 수 있습니다 : https://dev.branch.io/getting-started/creating-links/overview/

웹 페이지에 입력 한 특정 의도 문자열과 관련하여 "mysite.com"URI를 처리 할 의도 필터 또는 활동을 정의하지 않았습니다. 통로. 이 URI 경로를 "open"로 바꾸면 링크가 작동하지만 여기서는 최상의 방법으로 분기 링크를 만드는 것이 좋습니다.