Начало работы с MRGSFirebase🔗
Для интеграции MRGSFirebase необходимо выполнить несколько простых шагов
Шаг 1. Импортируйте модуль MRGSFirebase🔗
-
Добавьте модуль MRGSFirebase
Unity:
Добавление в проект (общая инструкция)
Шаг 1. Добавьте источники
Для того, чтобы добавить MRGS в проект через Unity Package Manager (доступно с Unity 2018+) просто добавьте в файл
Packages/manifest.jsonразделscopedRegistries, добавив в него следующую запись:{ "dependencies": { ... }, "scopedRegistries": [ { "name": "MRGS", "url": "https://mrgs-nexus.my.games/repository/mrgs-uninty-plugins/", "scopes": [ "games.my.mrgs" ] } ] }Альтернативно, можно нажать
Edit -> Project Settings -> Package Manager -> '+' in scoped registry section, и заполнить поля в соответствии с данными выше.Шаг 2. Добавьте зависимость
- Нажмите
Window -> Package Manager -> select 'Packages: MyRegistries' from dropdown list, выберите пакетMRGSFirebaseиз списка, затем нажмите "Install" - Импортируйте модуль:
using MRGS;
- Загрузите последнюю версию библиотеки. Распакуйте архив.
- (Для интеграции unitypackage) В Unity нажмите
Assets -> Import Package -> Custom Package, и выберите пакетgames.my.mrgs.firebase.unitypackageиз скачанного архива. - (Для интеграции tgz) В Unity нажмите
Window -> Package Manager -> '+' -> Add package from tarball, и выберите пакетgames.my.mrgs.firebase-<version>.tgzиз скачанного архива. - Импортируйте модуль:
using MRGS;
iOS:
Добавление в проект (общая инструкция)
Шаг 1. Добавьте зависимости
Через Package collection
- В Xcode выберите File > Add Packages
- Выберите «+» > "Add Swift Package Collection"
- Вставьте URL:
https://mrgs-nexus.my.games/repository/ios-sdks/MRGSPackageCollection.json - Выберите модуль MRGSFirebase из "MRGS Package Collection".
- Или вы можете выбрать пакет «MRGS» из "MRGS Package Collection" (содержит все модули mrgs в качестве продуктов), а затем выбрать только продукт "MRGS/Firebase".
Отдельными пакетами
- В Xcode выберите File > Add Packages
- В строке поиска в правом верхнем углу вставьте URL:
https://mrgs-gitea.my.games/mrgs/mrgsfirebase-ios-sdk.git - Добавьте модуль в свой проект
- Или вы можете вставить URL
https://mrgs-gitea.my.games/mrgs/ios-sdks.git, чтобы подключить пакет "MRGS", который содержит все модули mrgs в качестве продуктов, а затем выбрать только продукт "MRGS/Firebase".
Шаг 2. Добавьте поддержку категорий ObjectiveC
- В настройках проекта установите флаг
-ObjCв поле "Other linker Flags". - Импортируйте модуль в коде:
@import MRGServiceKit;или@import MRGSFirebase;или#import <MRGSFirebase/MRGSFirebase.h>
Шаг 1. Добавьте источники
В вашем podfile добавьте источники в начало файла:
source 'https://github.com/CocoaPods/Specs.git' # For main repo source 'https://mrgs-gitea.my.games/mrgs/cocoapods-specs.git' # For MRGS repoШаг 2. Добавьте зависимости
В target добавьте последнюю версию MRGSFirebase:
Чтобы добавить через subspecs:
Для добавления через отдельные модули:
Чтобы добавить все модули mrgs:
Шаг 3. Установите зависимости
- Выполните
pod install(илиpod install --repo-updateесли необходимо) - Импортируйте модуль в коде:
@import MRGServiceKit;или@import MRGSFirebase;или#import <MRGSFirebase/MRGSFirebase.h>
Шаг 1. Добавьте зависимости
Добавьте зависимость в ваш Cartfile:
Шаг 2. Установите зависимости
- Выполните
carthage update --use-xcframeworks - Добавьте загруженные фреймворки в свой проект (убедитесь, что опция "do not embed" включена)
- В настройках проекта установите флаг
-ObjCв поле "Other linker Flags". - Импортируйте модуль в коде:
@import MRGServiceKit;или@import MRGSFirebase;или#import <MRGSFirebase/MRGSFirebase.h>
- Загрузите последнюю версию библиотеки. Распакуйте архив.
-
Добавьте
MRGSFirebase.xcframeworkиз скачанного архива в ваш проект (Перетащите библиотеки в раздел "Linked frameworks and Libraries") (для совместимости в архиве также находится MRGSFirebase.framework - fat framework старого вида) -
В настройках проекта установите флаг
-ObjCв поле "Other linker Flags". - Импортируйте модуль в коде:
@import MRGSFirebase;или#import <MRGSFirebase/MRGSFirebase.h> - Также, вы можете добавить из архива файлы
MRGServiceKit.hиmodule.modulemapв свой проект, либо в настройках проекта укажите путь до них в разделеBuild Settings -> Header search paths. Теперь вместо импорта каждого из наших фреймворков по отдельности, вы можете импортировать только один заголовочный файл:@import MRGServiceKit;
Android:
Добавьте зависимости в корневой и приложения
build.gradleфайлы:Скопируйте файл MRGSFirebase.aar в директорию libs вашего проекта. Добавьте необходимые зависимости в файл build.gradle
- Нажмите
Huawei Store
Обратите внимание, что Huawei больше не поставляет Google Service на своих девайсах что делает недоступны работу Firebase.
Шаг 2. Настройте приложение на сайте Firebase🔗
- На сайте Firebase создайте приложение, руководствуясь документацией Google Firebase
- Зайдите в раздел настроек приложения
Раздел настроек приложения

- Загрузите файлы
google-services.jsonдля Android иGoogleService-Info.plistдля iOS
Загрузка файлов конфигурации


Шаг 3. Добавьте файлы загруженные файлы в проект🔗
Unity🔗
Для Android:
Скопируйте файл google-services.json в Assets/Plugins/Android/assets. Unity, во время сборки, поместит файл google-services.json в директории src/main/assets Android-проекта. Вам надо настроить сборку так, чтоб этот файл оказался в корне собираемого Android проекта. Лучше это сделать, отредактировав файл (смотри вкладку Unity< ваша_версия >) в директории Assets/Plugins/Android и поместив в самый конец файла такой код
Unity 2018
Отредактируйте файл baseProjectTemplate.gradle.
dependencies {
classpath 'com.android.tools.build:gradle:7.4.2'
// Add it.
classpath 'com.google.gms:google-services:4.3.13'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
Отредактируйте файл mainTemplate.gradle.
Unity 2019
Отредактируйте файл baseProjectTemplate.gradle.
dependencies {
classpath 'com.android.tools.build:gradle:7.4.2'
// Add it.
classpath 'com.google.gms:google-services:4.3.13'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
Отредактируйте файл launcherTemplate.gradle.
Внимание
<YOUR_APP_PACKAGE_NAME> - package name вашего Android-проекта, а строчка apply plugin: 'com.google.gms.google-services' нужна для того, чтобы распарсить файл google-services.json
Для iOS:
Скопируйте файл GoogleService-Info.plist в Assets/Plugins/iOS. MRGS автоматически при сборке добавит данный файл в проект XCode в раздел "Copy Bundle Resources". В случае, если вы не хотите класть файл в Assets/Plugins/iOS, вы можете положить его в любое место, но в таком случае Вам будет необходимо добавить копирование данного файла (с помощью PostBuildProcess) в проект XCode , ниже приведен код для копирования файла:
Пример копирования файла в проект с помощью PostBuildProcess
public class MRGSPostBuildExample
{
private const string ConfigsPath = "Assets/Path/Configs";
[PostProcessBuild]
public static void PostProcessBuild(BuildTarget target, string path)
{
if (target == BuildTarget.iOS)
{
#if UNITY_IOS
string projPath = PBXProject.GetPBXProjectPath(path);
PBXProject proj = new PBXProject();
proj.ReadFromString(File.ReadAllText(projPath));
#if UNITY_2019_3_OR_NEWER
string projectTarget = proj.GetUnityMainTargetGuid();
#else
string targetName = PBXProject.GetUnityTargetName();
string projectTarget = proj.TargetGuidByName(targetName);
#endif
AddLocalFile(path, proj, projectTarget, ConfigsPath, "GoogleService-Info.plist");
File.WriteAllText(projPath, proj.WriteToString());
#endif
}
}
#if UNITY_IOS
private static void AddLocalFile(string buildPath, PBXProject proj, string targetName, string fileDir, string fileName)
{
var filePath = Path.Combine(fileDir, fileName);
File.Copy(filePath, Path.Combine(buildPath, fileName), true);
proj.AddFileToBuild(targetName, proj.AddFile(fileName, fileName, PBXSourceTree.Source));
}
#endif
}
iOS🔗
Добавьте в проект (раздел Copy Bundle Resources во вкладке Build Phases) файл GoogleService-Info.plist (скачанный ранее из админки Firebase'a)
Android🔗
Скопируйте файл google-services.json в корень вашего проекта. Обычно это директория app. Отредактируйте файл build.gradle и добавьте в конец файла строчку
Шаг 4. Отправка событий🔗
Свойства пользователя🔗
Свойства пользователя — это атрибуты, которые вы определяете для описания сегментов вашей пользовательской базы, таких как языковые предпочтения или географическое положение.
Что бы установить свойства пользователя для отправки в firebase analytics воспользуйтесь методом:
Собственные события🔗
Для отправки собственных событий воспользуйтесь API
Автоматические события🔗
MRGS автоматически отслеживает и передает некоторые дополнительные события запусков и платежей в Firebase.
-
Вне зависимости от использования других модулей, MRGS автоматически отправит события:
Событие Условие отправки mrgs_cumulative_session_time_30min Отправляется при суммарном нахождении пользователя в приложении более 30 минут. Отправляется один раз. mrgs_cumulative_session_time_60min Отправляется при суммарном нахождении пользователя в приложении более 60 минут. Отправляется один раз. mrgs_cumulative_session_time_120min Отправляется при суммарном нахождении пользователя в приложении более 120 минут. Отправляется один раз. mrgs_cumulative_session_time_180min Отправляется при суммарном нахождении пользователя в приложении более 180 минут. Отправляется один раз. -
MRGS также будет отправлять дополнительный список событий по платежам, но только если выполнено одно из условий:
- Используется MRGSBilling для проведения платежей
- Используется MRGSMetrics для уведомления MRGS о платежах
- Используется Автотрекинг платежей на iOS
Данные условия не являются обязательными, их можно не выполнять, если вам не нужны данные события по платежам.
Событие Условие отправки Purchases1D Отправляется при покупке в течение одного дня после регистрации пользователя Purchases7D Отправляется при покупке в течение одной недели после регистрации пользователя Purchases14D Отправляется при покупке в течение двух недель после регистрации пользователя Purchases28D Отправляется при покупке в течение одного месяца после регистрации пользователя Purchases90D Отправляется при покупке в течение трех месяцев после регистрации пользователя UniquePurchases1D Отправляется при покупке в течение одного дня после регистрации пользователя, если эта покупка была первой среди совершенных им покупок UniquePurchases7D Отправляется при покупке в течение одной недели после регистрации пользователя, если эта покупка была первой среди совершенных им покупок UniquePurchases14D Отправляется при покупке в течение двух недель после регистрации пользователя, если эта покупка была первой среди совершенных им покупок UniquePurchases28D Отправляется при покупке в течение одного месяца после регистрации пользователя, если эта покупка была первой среди совершенных им покупок UniquePurchases90D Отправляется при покупке в течение трех месяцев после регистрации пользователя, если эта покупка была первой среди совершенных им покупок mrgs_valid_inapp_purchase Отправляется после того, как покупка была провалидирована, также к событию добавляется информация о платеже (sku, price, currency) mrgs_valid_inapp_5_dollars_plus Отправляется при совершении любой покупки на сумму, превышающую 5$. mrgs_valid_inapp_10_dollars_plus Отправляется при совершении любой покупки на сумму, превышающую 10$. mrgs_valid_inapp_50_dollars_plus Отправляется при совершении любой покупки на сумму, превышающую 50$. mrgs_valid_inapp_100_dollars_plus Отправляется при совершении любой покупки на сумму, превышающую 100$. Тестовые платежи
Начиная с версии MRGS SDK
6.4.0, также будут отправляться тестовые платежи в Firebase ноvalueу таких платежей будет0.
Получения идентификатора приложения🔗
Чтобы получить идентификатор приложения используйте метод:
Дата создания: 2020-01-20