Android-приложение перестало отправлять какие-либо события в Facebook Analytics

Извините, если мой английский не очень хорош!

Кто-нибудь сталкивался с проблемой, связанной с фейсбуком? У меня есть приложение на Android, которое опубликовано в Google Play. Недавно я обновил его и обнаружил, что мое приложение перестало отправлять какие-либо события в Analytics. Мои изменения не были связаны с facebook SDK. Я просто изменил код, касающийся логики работы некоторых кнопок.

Затем я попытался создать новое тестовое приложение и проверил, отправляет ли оно события в Analytics. Сначала все работало, но через несколько минут возникла та же проблема. На следующий день было то же самое.. Я не видел никаких событий в аналитике. Проверил шаги интеграции SDK в приложение, все правильно.

При запуске приложения в логах ошибка:

11556-11580/com.pattern.eventstest E/GraphResponse: {HttpStatus: 400, errorCode: 100, subErrorCode: 33, errorType: GraphMethodException, errorMessage: Unsupported get request. Object with ID '147657836189003' does not exist, cannot be loaded due to missing permissions, or does not support this operation. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api}

Но, если я правильно понимаю, это из-за приложений с кнопкой авторизации fb, но я не использую ее в своем приложении.

В Gradle я пытался реализовать 'com.facebook.android:facebook-android-sdk:4.36.0', а также 'com.facebook.android:facebook-android-sdk:[4,5)', оба не работали.

У кого-нибудь есть идея, что происходит?

градация:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "com.pattern.eventstest"
        minSdkVersion 15
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    implementation 'com.android.support:appcompat-v7:27.0.2'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    implementation 'junit:junit:4.12'
    implementation 'com.facebook.android:facebook-android-sdk:[4,5)'
    implementation group: 'commons-codec', name: 'commons-codec', version: '1.11'
    implementation 'org.jsoup:jsoup:1.10.3'
}

Манифест:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.pattern.eventstest">

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

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        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>
        </activity>
        <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
    </application>

</manifest>

Строки:

<resources>
    <string name="app_name">Events Test</string>
    <string name="facebook_app_id">147657836189003</string>
    <string name="fb_login_protocol_scheme">fb147657836189003</string>
</resources>

Основная активность:

package com.pattern.eventstest;

import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import com.facebook.appevents.AppEventsLogger;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        fbAppEvent(this, "onCreate");
    }
    public static void fbAppEvent(Context context, String name) {
        String actName = "app: " + name;
        try {
            AppEventsLogger logger = AppEventsLogger.newLogger(context);
            logger.logEvent(actName);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

В fb: введите здесь описание изображения


person Maria    schedule 09.10.2018    source источник


Ответы (1)


Убедитесь, что имя вашего события соответствует следующему регулярному выражению:

/^[0-9a-zA-Z_][0-9a-zA-Z _-]{0,39}$/

В частности, у вас есть ошибка здесь:

  String actName = "app: " + name;

Двоеточие не допускается. Также позвольте мне порекомендовать использовать перечисление для указания различных действий для вашего приложения, а не строки. Имейте в виду, что вы можете отправить до 1000 названий пользовательских событий в одно приложение.

person elize    schedule 10.10.2018