0

저는 Android를 처음 사용하면서도 배우면서 AndroidAnnotations를 사용하는 프로젝트가 있으며 앱 링크를 구현하려고합니다.Android 앱 링크가 작동하지 않습니다. 특수 효과 때문입니까?

설명서를 읽고 (here) 여기 Stackoverflow에서 몇 가지 질문을 읽습니다. 문서에 따라

, 매니페스트 내부의 의도 필터는 다음과 같습니다

<intent-filter android:autoVerify="true"> 
      <action android:name="android.intent.action.VIEW" /> 
      <action android:name="android.intent.category.DEFAULT" /> 
      <action android:name="android.intent.category.BROWSABLE" /> 
      <data android:scheme="http" android:host="real.host.here" /> 
      <data android:scheme="https" android:host="real.host.here" /> 
</intent-filter> 

목적이 활동 안에, 그리고 내가 찾은 모든 예제와 다른 유일한 것은 내 활동은 다음과 같이이다이다 : 때문에 AndroidAnnotations의

<activity 
    android:name=".activities.MainActivity_" ...> 
    <intent-filter...>...</intent-filter> 
</activity> 

는, 이름은 ".MainActivity_"가 아닌 "MainActivity"입니다. 그 옆에

는 호스팅 assetlinks.json 여기에 연결하여 HTTPS 액세스 내 파일입니다

[{ 
    "relation": ["delegate_permission/common.handle_all_urls"], 
    "target": { 
    "namespace": "android_app", 
    "package_name": "com.my.package.name", 
    "sha256_cert_fingerprints":["32:D9:9E:17:2E:C7:B4:82:12:96:C8:3E:D1:51:56:3F:7C:ED:97:69:F9:4A:39:54:4C:7B:AD:8A:AD:27:8F:45"] 
    } 
}] 

SHA256 내가 응용 프로그램의 릴리스 버전을 구축하는 데 사용할 인증서에서입니다 지문을.

Statement List Generator and Tester 도구로 이미 테스트 한 결과가 성공적입니다.

그리고 확실히, 나는 항상 서명 된 APK와 전화로 테스트합니다. 안드로이드 6.0을 테스트하고 있습니다.

나는이

https://digitalassetlinks.googleapis.com/v1/statements:list? 
source.web.site=https://<domain1>:<port>& 
relation=delegate_permission/common.handle_all_urls 

으로 디지털 자산 링크 파일을 확인할 때 나는이 메시지를 얻을 :

... "debugString": "********************* ERRORS *********************\nNone!\ ... 

을하지만이 명령

adb shell am start -a android.intent.action.VIEW \ 
-c android.intent.category.BROWSABLE \ 
-d "http://<domain1>:<port>" 

을 시도 할 때 브라우저를 엽니 다 , 아니 응용 프로그램.

정말 틀린 점을 알고 싶습니다.

+0

AndroidAnnotations를 사용하지 않는 테스트 활동을 작성하고 해당 활동에 필터를 추가 한 다음 사용해보십시오.라이브러리의 전례가 아니지만 너무 많은 사람들이 딥 링크를 사용하여 시도해 보았습니다. –

+0

그냥 mainActivity로 리디렉션하기 위해 빈 활동을 만들려고했지만 작동하지 않았습니다. (리디렉션은 정상적으로 작동했지만 앱 링크는 그렇지 않았습니다.) – BarbaAlGhul

답변

1

나는 내 자신의 문제를 발견했다.

먼저 내가 의도 필터 내부

<action android:name="android.intent.category.DEFAULT" /> 
<action android:name="android.intent.category.BROWSABLE" /> 

<category android:name="android.intent.category.DEFAULT" /> 
<category android:name="android.intent.category.BROWSABLE" /> 

그러나 심지어 그 후, 그것은 작동하지 않는해야합니다 것을 발견했다. 그래서 나는 진짜 문제를 발견했다.

는 여기를 참조하십시오 :

문제였다
<data android:scheme="http" android:host="real.host.here" /> 
<data android:scheme="https" android:host="real.host.here" /> 

, 내 호스트에만 HTTPS 프로토콜을 제공하고, 내 웹 사이트에 대한 HTTP가 없습니다. "http"데이터 라인을 제거한 후에, 그것은 매력처럼 작동했습니다. AndroidAnnotations 사용에는 문제가 없습니다.

관련 문제