Android Deplink構成

7850 ワード

Deeplinkアプリケーション構成の開始に関する注意事項
1.Deplink形式の説明
Deeplinkは現在、広告追跡を使用して非常に人気のある方法であり、Deeplinkのリンクタイプは一般的にschema://host/path?paramsスタイルである.
2.受信Deplink用にintent-filterを構成する
 Androidデバイスでは、Deeplinkをクリックすると指定アプリケーションを開くことができ、開く必要があるアプリケーションを正確に特定し、指定したActivityを正確に開くためには、アプリケーション開発中にIntentをフィルタ受信するように構成する必要があります(intent-filterです)、具体的にはAndroidManifest.xmlActivityに対して宣言したときにノードを追加し、schemaといくつかの必要な区分属性パラメータ(例えば:hostpathなど)を構成すればよい.構成された属性パラメータが多ければ多いほど詳細になり、一意性を保証することができ、ポップアップアプリケーション選択ボックスではなく、開く必要があるアプリケーションを正確に開くことができる.ラベルには、次のプロパティが含まれています.
  • 動作:外部オープンはACTION_に設定する必要がありますVIEW、このように外部のオープン命令が到着することができます;
  • カテゴリ:DEFAULTを含める必要があります.このcategoryでは、Activityが暗黙的なIntentを受信できます.これが構成されていない場合、Activityはアプリケーションコンテナ名を指定することによってのみ開くことができます.BROWSABLEも含まれている必要があります.このcategoryではintent-filterがWebブラウザにアクセスできます.これを構成していない場合は、WebブラウザのDeeplinkリンクをクリックしてActivityを解析して開くことはできません.
  • データ:1つ以上のタグを追加する必要があります.各タグは、どのようなフォーマットのURIがActivityに割り当てられるかを記述しています.各ラベルは、少なくとも1つのandroid:schema属性を含む必要があります.Activityが受信できるURIタイプの精度を向上させるために、より多くのプロパティを追加できます.例えば、あなたのアプリケーションは、複数のactivityで類似のURI(同じschemaおよびhost)を受信しますが、これらのURIは、この異なるパス(path)に基づいて、android:pathプロパティを使用するか、パス正規表現(pathPattern)とパスプレフィックス(pathPrefix)変種を使用して、異なるパスに対して、システムがどのActivityを開く必要があるかを区別します.

  • テストのDeeplinkリンク:rsdkdemo://rs.com/test?referer=Deeplink_TestActivityの構成intent-filterは以下の通りです.
    <activity
        android:name="com.rastargame.sdk.oversea.demo.RSDemoActivity"
        android:configChanges="orientation|keyboardHidden|navigation|screenSize"
        android:launchMode="singleTop"
        android:screenOrientation="sensor"
        android:theme="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:scheme="rsdkdemo"
                android:host="rs.com"
                android:pathPrefix="/test"/>
        intent-filter>
    activity>

    説明:1.の属性パラメータ構成は、Deeplinkに従って構成する必要があります.できるだけ多くの属性パラメータを構成して一意性を保証しなければなりません.そうしないと、deeplink接続をクリックすると、アプリケーションページを開く選択が表示されます.2.ブラウザでもアプリケーションを開く必要がある場合は、intent-filterという構成を追加する必要があります(この属性の意味は、特定の場合、ブラウザでActivityを開くことができます)
    3.intent-filter構成の注意事項
  • のラベル構成を追加すると、Deeplinkで適切なページを正しく開くことができません.1つのActivityは、複数ののラベルを有することができるので、別ののラベルを追加して構成する.
  • の2つは互いに衝突し、この2つのcategoryを追加するとデスクトップアイコンが表示できないという問題が発生します.

  • 説明:Activityandroid.intent.action.MAINラベルが含まれていない場合は、複数のintent-filterを構成する必要はありません.
    4.Deeplinkデータ解析
     Deeplinkをクリックしてアプリケーションを開くと、ActivityのonCreateonNewIntentでデータを処理するアプリケーションにDeeplinkが転送されます.
    5.Deeplinkテスト
    5.1コマンドラインadbテストdeeplink
    コマンドラインadbを直接使用してdeeplinkをテストし、コマンドを使用します.
    adb shell am start -a android.intent.action.VIEW -d "rsdkdemo://rs.com/test?referer=Deeplink_Test"

    5.2テストページdeeplinkクリック
  • まず、testとして保存する簡単なhtmlファイルを作成する必要がある.html、htmlファイルの内容は以下の通りです:
  • 
    <head>
        <meta charset="UTF-8" />
        <meta id="viewport" name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,minimal-ui">
    head>
    <html>
        <input type="button" value="     Deeplink" onclick="javascrtpt:window.location.href='rsdkdemo://rs.com/test?referer=Deeplink_Test'">
    html>
  • htmlファイルをデバイスにコピーし、ブラウザで開き、ボタンをクリックするとアプリケーションを開きます.

  • 5.3 Facebook deeplinkのテスト
    Facebook deeplinkをテストするには、Facebook SDKを統合し、対応する構成を完了し、広告アシスタントを通じてDeepLinkedをテストし、テストデバイスにFacebookクライアントをインストールし、開発者アカウントに対応するFacebookアカウントにログインする必要があります.