복붙노트

[JQUERY] 모바일 웹 페이지 - PHP 및 JS를 사용하여 장치에 Android 앱이 설치되어 있는지 탐지합니다.

JQUERY

모바일 웹 페이지 - PHP 및 JS를 사용하여 장치에 Android 앱이 설치되어 있는지 탐지합니다.

해결법


  1. 1.다행히도, 분명한 개인 정보 보호의 이유로이 제품이 불가능합니다.

    다행히도, 분명한 개인 정보 보호의 이유로이 제품이 불가능합니다.

    가능한 가장 가까운 가장 가까운 것은 응용 프로그램에 있으며 일부 URL 구조에 대해 가있는 활동을하고 모바일 웹 사이트에 일치하는 URL에 링크가있는 활동을합니다.

    사용자가 링크를 클릭하면 앱이 설치되어 있으면 활동이 사용자에게 선택적 옵션이됩니다.

    사용자가 링크를 클릭하고 앱이 설치되어 있지 않거나 선택 자에서 웹 브라우저를 고집하도록 선택하면 해당 URL에있는 웹 페이지가 표시됩니다 (예 : 응용 프로그램을 다운로드하는 방법의 지침).


  2. 2.이를 달성하는 방법이 있습니다. 이 답변을 찾았습니다

    이를 달성하는 방법이 있습니다. 이 답변을 찾았습니다

    특정 응용 프로그램이 설치되어 있는지 확인할 수 없으며 보안 및 개인 정보 보호 정책 이유로 탐지 할 수 없습니다. 하지만 Google Play 페이지가 설치되거나 열리면 앱을 열어야 할 트릭을 수행 할 수 있습니다.

    이를 수행하려면 주어진 URL이 호출 될 때 앱의 주요 활동에 인 텐트 필터를 만들어야합니다. 다음과 같이 :

    <activity android:name=".MainActivity >
        <intent-filter>
            <data
                android:host="www.myurl.com"
                android:pathPrefix="/openmyapp"
                android:scheme="http" >
            </data>
    
            <action android:name="android.intent.action.VIEW" />
    
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <category android:name="android.intent.category.VIEW" />
        </intent-filter>
    </activity> 
    

    설명 : 사용자가 http://www.myurl.com/openmyapp로 이동하면 앱이 설치되어 있으면 의도가 생성되고 활동이 표시됩니다.

    그러나 사용자에게 앱이 설치되어 있지 않으면 어떨까요? 그런 다음 http://www.myurl.com/openmyapp/index.html에서 리디렉션 페이지를 만들어야합니다. 사용자 가이 주소에 도달하면 서버가 시장 : // 세부 사항으로 리디렉션되어야합니다. id = com.your.app.package.

    이렇게하면 사용자가 http://www.myurl.com/openmyapp로 이동 한 후에도 의도가 생성되지 않으면 웹 서버가 다른 URL을 호출합니다. 해당 URL은 앱 페이지에서 직접 장치에서 Google Play를 열 것입니다.


  3. 3....의 경우

    ...의 경우

    <data
        android:host="www.myurl.com"
        android:pathPrefix="/openmyapp"
        android:scheme="http" >
    </data>
    

    사용자에게 콘텐츠를 열어 사용자에게 묻습니다.

    이를 피하거나 앱을 일부 URL에 연결하지 않으려면 PHP 및 JS를 사용 하여이 작업을 수행 할 수있는 또 다른 트릭을 수행 할 수 있습니다.

    <intent-filter android:label="filter_react_native">
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="MyCustomScheme" android:host="MyCustomHost" />
    </intent-filter>
    
    <?php
    header('Location: MyCustomScheme://MyCustomHost');
    
    ...
    <a href="https://play.google.com/store/apps/details?id=YOUR_APP_PACKAGE_NAME">Please install the application</a>
    ...
    
    <script>
        location.href = '...redirect_to_app.php';
    </script>
    

  4. 4.더 나은 트릭이 있습니다. URL이 404를 반환하는지 확인하려고합니다. 응용 프로그램이 설치되어 있지 않으면 URL이 작동하지 않습니다.

    더 나은 트릭이 있습니다. URL이 404를 반환하는지 확인하려고합니다. 응용 프로그램이 설치되어 있지 않으면 URL이 작동하지 않습니다.


  5. 5.휴대 전화에서 브라우저를 사용 하여이 작업을 수행 할 수 있습니다.

    휴대 전화에서 브라우저를 사용 하여이 작업을 수행 할 수 있습니다.

     intent://scan/#Intent;scheme=clashofclans;package=com.supercell.clashofclans;S.browser_fallback_url=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.supercell.clashofclans&amp;%26referrer%3Dkinlan;end
    
     intent://scan/#Intent;scheme=vnd.youtube://www.youtube.com/watch?v=QXhoNI4O99A;package=com.google.android.youtube;S.browser_fallback_url=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.google.android.youtube&amp;%26referrer%3Dkinlan;end
    

    당신도 이것을 시도 할 수 있습니다

    문제의 응용 프로그램은 AndroidManifest에 해당 구성표가 있어야합니다. 씨족의 충돌 // 또는 다른 계획

  6. from https://stackoverflow.com/questions/12856773/detect-if-android-app-has-been-installed-on-the-device-using-a-mobile-web-page by cc-by-sa and MIT license