Перейти к содержанию
Fire Monkey от А до Я
  • 0

Google Analytics


Gingercat

Вопрос

Доброго времени суток. Поиск по форуму ничего не дал - подскажите, кто нибудь сталкивался со зверем - Google Analytics. 

Если сталкивались, подскажите - чего почитать, или - как реализовать?

Ссылка на комментарий

Рекомендуемые сообщения

  • 0
  • Администраторы

Добрый вечер,

 

Попробуйте для начала ознакомиться с руководствами:

  1. Google Analytics для мобильных приложений
  2. SDK Google Analytics для Android версии 4 – Начало работы

А дальше джава код нужно перевести в Delphi. В этом я думаю трудностей не должно быть.

Ссылка на комментарий
  • 0

В коллекцию. как использовать Google Analytics без сторонних компонент http://thedelphiway.blogspot.com.by/2016/07/google-analytics-in-delphi-mobile.html

Изменено пользователем Дмитрий Ш.
Ссылка на комментарий
  • 0

Добрый день. 

Есть готовое приложение, но для его продвижения, нужно добавить аналитику, желательно Firebase. Или любую другую, из которой можно передать данные о конверсии в google рекламу.

Разработано на Delphi 10.4.2, в списке подключенных библиотек есть:

- com-google-firebase.firebase-analytics.16.4.0.dex.jar

- com-google-android-gms.play-services-analytics-impl.16.0.8.dex.jar

- com-google-android-gms.play-services-analytics.16.0.8.dex.jar

Пытался реализовать как было предложено выше, но не получается. Во время компиляции

unit GoogleAnalytics;

interface

 uses
   System.SysUtils,

   System.Types, System.UITypes, System.Classes, System.Variants,
  {$IFDEF ANDROID}
      Androidapi.JNI.Analytics,
      Androidapi.Helpers,
      Androidapi.JNI.JavaTypes,
     // androidapi.JNI.Os,
      Androidapi.JNI.GraphicsContentViewText,
  {$ENDIF}
   FMX.Types;

type
///  вспомогат. класс для работы с GoogleAnalytics - только андроид!
     TwGoogleAnalytics=class
       private
        FCollectDataPermission: boolean;
        FGoogleAppId  : String;
        {$IFDEF ANDROID}
          FTracker    : JTracker;
          FGoogleAId  : JString;
        {$ENDIF}
       public
         {$IFDEF ANDROID}
            JGA : JGoogleAnalytics;
            property CollectDataPermission: boolean read FCollectDataPermission write FCollectDataPermission;
         {$ENDIF}
          constructor Create;
          procedure SetParams(const aGoogleAppID:string);
          ///
          procedure SendControl(const aCtrlDesc:string);
          procedure SendEvent(const aCat,aAction,aLabel:string; aGValue:Integer);
          procedure SendException(const aExMessage:string; aFatalFlag:Boolean=false);
         ///
         property GoogleAppId:string read FGoogleAppId;
     end;

     {var Tr:JTracker;
    JGA:JGoogleAnalytics;
begin

implementation


 constructor TwGoogleAnalytics.Create;
  begin
   FGoogleAppId := '';
  end;

  procedure TwGoogleAnalytics.SetParams(const aGoogleAppID:string);
   begin
   {$IFDEF ANDROID}
    CollectDataPermission := true;//(Ini.CollectDataPermission = PERMISSION_YES);

    // Ошибка, не найден класс  Exception class EJNI with message 'Java type JGoogleAnalytics could not be found'
    // в Androidapi.JNIBridge
    JGA   :=  TJGoogleAnalytics.JavaClass.getInstance( TAndroidHelper.Context ); 
    ///
    FGoogleAId  :=  StringToJString(aGoogleAppID);
    FTracker    :=  JGA.getTracker(FGoogleAid);
    ///
    JGA.setDefaultTracker(FTracker);
    JGA.setDebug(true);
    ///
   {$ENDIF}
   FGoogleAppId:=aGoogleAppID;
  end;

  procedure TwGoogleAnalytics.SendControl(const aCtrlDesc:string);
   begin
    {$IFDEF ANDROID}
     FTracker.setAppScreen(StringToJString(aCtrlDesc));
     FTracker.sendView;
    {$ENDIF}
   end;

  procedure TwGoogleAnalytics.SendEvent(const aCat,aAction,aLabel:string; aGValue:Integer);
   begin
    {$IFDEF ANDROID}
     FTracker.sendEvent(StringToJString(aCat),
                StringToJString(aAction),StringToJString(aLabel),
                TJLong.JavaClass.init(aGValue));
    {$ENDIF}
   end;

  procedure TwGoogleAnalytics.SendException(const aExMessage:string; aFatalFlag:Boolean=false);
   begin
    {$IFDEF ANDROID}
     FTracker.sendException(StringToJString(aExMessage),aFatalFlag);
    {$ENDIF}
   end;


end.
procedure TForm1.FormCreate(Sender: TObject);
begin

  GA  := TwGoogleAnalytics.Create;
  GA.SetParams('xxx2392xx');

..........

end;

Во время выполнения ошибка возникает в Androidapi.JNIBridge

// Ошибка, не найден класс  Exception class EJNI with message 'Java type JGoogleAnalytics could not be found'
// в Androidapi.JNIBridge
JGA   :=  TJGoogleAnalytics.JavaClass.getInstance( TAndroidHelper.Context ); 

Связующий модуль Androidapi.JNI.Analytics подключен, искомый интерфейс есть. 

JGoogleAnalytics = interface;//com.google.analytics.tracking.android.GoogleAnalytics

По всей видимости нет данных в самой библиотеке. 

Прошу помочь, или любые мысли в направлении как подключить аналитику. Есть библиотека firebase, но непонятно как работать с ее аналитикой. Firebase Push уведомления подключены и работают. 

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...