Уведомление Apprequest от Unity Facebook открывает браузер вместо игрового магазина

Я пытаюсь сделать диалог с друзьями с помощью вызова Unity Facebook sdk:s FB.AppRequest(). Сам Apprequest работает нормально, а получатель получает уведомление. Если игра не установлена ​​на устройстве, она открывает запрос в браузер вместо Google Play Store.

Однако, если у пользователя установлена ​​игра, уведомление ведет к игре правильно. Игру можно найти в Facebook AppCenter и оттуда открывается правильная ссылка на игровой магазин.

а) Я неправильно понял, что уведомление должно открывать игровой магазин, если игра не установлена?

б) Есть ли где-нибудь место для URL магазина игр (думаю, нет, пока настройки Facebook могут правильно искать изображения в магазине игр)

в) Должен ли он быть представлен в Facebook Appcenter?

Игра публикуется в игровом магазине и не помещается в "песочницу" на Facebook.

Текущие настройки

манифест

<?xml version="1.0" encoding="utf-8"?>
<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.tuokio.smashtheschool"
    android:versionCode="5"
    android:versionName="0.4">
    <supports-screens
        android:smallScreens="true"
        android:normalScreens="true"
        android:largeScreens="true"
        android:xlargeScreens="true"
        android:anyDensity="true"/>

    <application
        android:icon="@drawable/app_icon"
        android:label="@string/app_name"
        android:largeHeap="true"
        android:debuggable="true">

        <activity android:name="com.prime31.UnityPlayerNativeActivity" android:screenOrientation="sensorLandscape"
                  android:launchMode="singleTask"
                  android:label="@string/app_name"
                  android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="true" />
        </activity>

        <activity android:name="com.unity3d.player.VideoPlayer"
                  android:label="@string/app_name"
                  android:screenOrientation="landscape"
                  android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
        </activity>

        <!---REMOVED NON RELATED ACTIVITIES 


        -->

        <!-- FB -->
         <activity android:name="com.facebook.unity.FBUnityLoginActivity" android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen" android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen">
        </activity>
        <activity android:name="com.facebook.LoginActivity" android:screenOrientation="sensorLandscape" android:configChanges="keyboardHidden|orientation" android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen">
        </activity>
        <activity android:name="com.facebook.unity.FBUnityDeepLinkingActivity" android:exported="true">
        </activity>
        <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="\ 1378812695724198" />


    </application>

    <!-- PERMISSIONS -->
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="com.android.vending.BILLING" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <!-- PLEASE NOTE: Using this permission changes Application.persistentDataPath to always return external storage path! android.permission.WRITE_EXTERNAL_STORAGE -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <!-- Must add the GET_ACCOUNTS and USE_CREDENTIALS perimissions to support Google auth -->
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.USE_CREDENTIALS" />

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>

    <uses-permission android:name="android.permission.GET_TASKS"/>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.VIBRATE" />

    <uses-feature android:glEsVersion="0x00020000" />
    <uses-sdk android:minSdkVersion="15" android:targetSdkVersion="17" />

</manifest>

Настройки FacebookБазовые настройкиРасширенные настройкиМиграцииплатформыразрешенийНастройки Unity

Спасибо за продвижение!

1 ответ

Решение

Я не знаю, ищите ли вы ответ, но думаю, что ваш вопрос о представлении в Facebook App Center был верным.

У меня была та же проблема, и мое приложение не было отправлено в Facebook, так как я использовал только "стандартные" разрешения (public_profile & user_friends не требует проверки Facebook). Я подумал, что, возможно, отправка приложения на проверку (только часть "Детали приложения") может помочь, поэтому я протестировал простой запрос непосредственно перед отправкой, и он все еще не работал. Я отправил свое приложение в Facebook (только часть "Детали приложения"), чтобы его можно было найти в Центре приложений. После того, как мое приложение было принято к рассмотрению, я снова запустил простой запрос, и теперь все работает нормально. Запрос приложения, открытый в Android, запускает Play Store, если приложение не установлено, или запускает приложение напрямую.

Я не могу сказать, является ли это общим правилом, потому что я не могу найти документацию, поддерживающую эту идею, но для меня это имеет смысл (поскольку приложение отсутствует в центре приложений, а приложение Facebook на устройстве не может найти какую-либо информацию о вашей заявке).

Надеюсь это поможет.

Другие вопросы по тегам