내 애플 리케이션에서 firebase 동적 링크를 구성하려고하지만 몇 가지 문제에 직면하고 있습니다.내 애플 리케이션에서 파이어베이스 deeplinks 구성의 문제
다음을 수행했습니다 : 1. Firebase 콘솔 설정 완료. 매니페스트 2. 내 코드 :
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.manpsing.deeplinkdemo">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<!-- [START link_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:host="example.com"
android:scheme="https"/>
</intent-filter>
<!-- [END link_intent_filter] -->
</activity>
</application>
</manifest>
-
주요 활동에
코드 :
공용 클래스 MainActivity가 AppCompatActivity가 {
private static final String TAG = "MainActivity"; private static final String DEEP_LINK_URL = "https://example.com/deeplinks"; // [START define_variables] private GoogleApiClient mGoogleApiClient; // [END define_variables] // [START on_create] @Override protected void onCreate(Bundle savedInstanceState) { // [START_EXCLUDE] super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Validate that the developer has set the app code. validateAppCode(); // Create a deep link and display it in the UI final Uri deepLink = buildDeepLink(Uri.parse(DEEP_LINK_URL), 0, false); ((TextView) findViewById(R.id.link_view_send)).setText(deepLink.toString()); // Share button click listener findViewById(R.id.button_share).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { shareDeepLink(deepLink.toString()); } }); // [END_EXCLUDE] // [START build_api_client] // Build GoogleApiClient with AppInvite API for receiving deep links mGoogleApiClient = new GoogleApiClient.Builder(this) .enableAutoManage(this, this) .addApi(AppInvite.API) .build(); // [END build_api_client] // [START get_deep_link] // Check if this app was launched from a deep link. Setting autoLaunchDeepLink to true // would automatically launch the deep link if one is found. boolean autoLaunchDeepLink = false; AppInvite.AppInviteApi.getInvitation(mGoogleApiClient, this, autoLaunchDeepLink) .setResultCallback( new ResultCallback<AppInviteInvitationResult>() { @Override public void onResult(AppInviteInvitationResult result) { if (result.getStatus().isSuccess()) { // Extract deep link from Intent Intent intent = result.getInvitationIntent(); String deepLink = AppInviteReferral.getDeepLink(intent); // Handle the deep link. For example, open the linked // content, or apply promotional credit to the user's // account. // [START_EXCLUDE] // Display deep link in the UI ((TextView) findViewById(R.id.link_view_receive)).setText(deepLink); // [END_EXCLUDE] } else { Log.d(TAG, "getInvitation: no deep link found."); } } }); // [END get_deep_link] }
GoogleApiClient.OnConnectionFailedListener를 구현 확장
내 strings.xml 파일은 다음과 같습니다.
내가이의 동적 링크를 작성하지 않은 추측
<!--
Your app code, see:
https://firebase.google.com/docs/dynamic-links/android
-->
<string name="app_code">pgm3j</string>
<string name="share">Share</string>
<string name="title_receive">Receive</string>
<string name="title_send">Send</string>
<string name="msg_no_deep_link">No deep link received.</string>
을 DeeplinkDemo. 하나 만드는 방법을 알려주세요. 또한이 동적 링크를 사용하는 방법, 즉 내가 열어야하는 URL과 가리킬 곳을 알려주십시오.
또한 기기에이 앱을 설치하려고 할 때 설치되지 않습니다. 설치되지 않은 이유를 모르겠습니다.
감사
답장을 보내 주셔서 감사합니다. 어떤 URL을 장치/웹 브라우저에 입력해야 자동으로 동일한 활동에서 내 응용 프로그램을 열 수 있습니까? –
내 목표는 모바일 브라우저 또는 웹 브라우저의 어느 곳에서나 딥 링크 URL을 치는 것이고 내 앱에서 주력을 열어야합니다. 심지어 deeplink URL을 가진 일부 매개 변수를 보내고 애플 리케이션에서 이러한 매개 변수를 가져오고 싶지만 여전히 1 단계에 머물러 있습니다. 딥 링크를 통해 앱을 열 수 없습니다. –
모바일 및 웹 브라우저에서 https://example.com을 시도하고 있는데 내 앱이 열리지 않습니다. –