Expo Deep linking integration

Bắt đầu

alt text

Deep Linking Types

  1. Liên kết sâu bị trì hoãn - Phục vụ các nội dung được cá nhân hóa cho những người dùng mới hoặc người dùng trước đây từng sử dụng, trực tiếp sau khi cài đặt.
  2. Liên kết sâu trực tiếp - Trực tiếp phục vụ các nội dung được cá nhân hóa cho những người dùng hiện có, đã cài đặt ứng dụng trên di động.

Unified deep linking (UDL) - an API which enables you to send new and existing users to a specific in-app activity as soon as the app is opened.

Để biết thêm thông tin, vui lòng xem Hướng dẫn về liên kết sâu OneLink™hướng dẫn dành cho nhà phát triển.

Implementation for Expo

  1. In order to use AppsFlyer's deeplinks you need to configure intent filters/scheme/associatedDomains as described in Expo's guide.

  2. For Android apps: You need to add setIntent() inside the onNewIntent method like described here. This plugin is NOT adding this code out the box, so you need to implement it manually or with custom config plugin

Full app.json example

{
  "expo": {
    "name": "expoAppsFlyer",
    "slug": "expoAppsFlyer",
    "version": "1.0.0",
    "orientation": "portrait",
    "icon": "./assets/atom.png",
    "plugins": [
      [
        "react-native-appsflyer",
        { "shouldUseStrictMode": true } // <<-- only for strict mode
      ]
    ],
    "splash": {
      "image": "./assets/splash.png",
      "resizeMode": "contain",
      "backgroundColor": "#ffffff"
    },
    "updates": {
      "fallbackToCacheTimeout": 0
    },
    "assetBundlePatterns": ["**/*"],
    "scheme": "my-own-scheme", // <<-- uri scheme as configured on AF dashboard
    "ios": {
      "supportsTablet": true,
      "bundleIdentifier": "com.appsflyer.expoaftest",
      "associatedDomains": ["applinks:expotest.onelink.me"] // <<-- important in order to use universal links
    },
    "android": {
      "adaptiveIcon": {
        "foregroundImage": "./assets/adaptive-icon.png",
        "backgroundColor": "#FFFFFF"
      },
      "package": "com.af.expotest",
      "intentFilters": [
        {
          "action": "VIEW",
          "data": [
            {
              "scheme": "https",
              "host": "expotest.onelink.me", // <<-- important for android App Links
              "pathPrefix": "/DvWi" // <<-- set your onelink template id
            }
          ],
          "category": ["BROWSABLE", "DEFAULT"]
        },
        {
          "action": "VIEW",
          "data": [
            {
              "scheme": "my-own-scheme" // <<-- uri scheme as configured on AF dashboard
            }
          ],
          "category": ["BROWSABLE", "DEFAULT"]
        }
      ]
    },
    "web": {
      "favicon": "./assets/favicon.png"
    }
  }
}