API/Autodoc/Files/RuStoreInstallReferrerClient.cs.md
Namespaces
| Name |
|---|
Classes
| Name | |
|---|---|
| class | RuStore::UnityInstallReferrer::InstallReferrerClient — SDK Install Referrer — инструмент атрибуции для рекламных и аналитических систем. Он позволяет отслеживать количество установок вашего приложения, загруженных из RuStore по рекламным ссылкам. |
Source code
using UnityEngine;
using System;
using RuStore.UnityInstallReferrer.Callbacks;
using RuStore.UnityInstallReferrer.Internal;
using RuStore.UnityInstallReferrer.Model;
namespace RuStore.UnityInstallReferrer {
public class InstallReferrerClient {
public static string PluginVersion = "10.5.0";
private static InstallReferrerClient _instance;
private static bool _isInstanceInitialized;
private AndroidJavaObject _clientWrapper;
private bool _isInitialized;
public bool IsInitialized => _isInitialized;
public static InstallReferrerClient Instance {
get {
if (!_isInstanceInitialized) {
_isInstanceInitialized = true;
_instance = new InstallReferrerClient();
}
return _instance;
}
}
private InstallReferrerClient() {
}
public bool Init() {
if (Application.platform != RuntimePlatform.Android) {
return false;
}
if (_isInitialized) {
Debug.LogError("Error: RuStore Install Referrer is already initialized");
return false;
}
CallbackHandler.InitInstance();
ActivityInstaller.Instance.Install();
using (var clientJavaClass = new AndroidJavaClass("ru.rustore.unitysdk.installreferrer.RuStoreUnityInstallReferrerClient")) {
_clientWrapper = clientJavaClass.GetStatic<AndroidJavaObject>("INSTANCE");
}
_isInitialized = true;
return true;
}
public void GetInstallReferrer(Action<RuStoreError> onFailure, Action<InstallReferrer> onSuccess) {
if (!IsPlatformSupported(onFailure)) return;
var listener = new GetInstallReferrerListener(onFailure, onSuccess);
_clientWrapper.Call("getInstallReferrer", listener);
}
public void SendFsaEvent(FsaEvent fsaEvent, Action<RuStoreError> onFailure, Action onSuccess) {
if (!IsPlatformSupported(onFailure)) return;
var json = JsonSerializerProvider.Serialize(fsaEvent);
var listener = new SendFsaEventListener(onFailure, onSuccess);
_clientWrapper.Call("sendFsaEvent", json, listener);
}
private bool IsPlatformSupported(Action<RuStoreError> onFailure) {
if (Application.platform != RuntimePlatform.Android) {
onFailure?.Invoke(new RuStoreError() {
name = "InstallReferrerClientError",
description = "Unsupported platform"
});
return false;
}
return true;
}
}
}
- Страницы
- BaseFields.cs.en
- BaseFields.cs
- BaseJsonSerializer.cs.en
- BaseJsonSerializer.cs
- BaseValue.cs.en
- BaseValue.cs
- Callbacks.en
- Callbacks
- Data.en
- Data
- DataConverter.cs.en
- DataConverter.cs
- FsaEvent.cs.en
- FsaEvent.cs
- FsaEventType.cs.en
- FsaEventType.cs
- GetInstallReferrer.cs.en
- GetInstallReferrer.cs
- GetInstallReferrerListener.cs.en
- GetInstallReferrerListener.cs
- IJsonSerializer.cs.en
- IJsonSerializer.cs
- Init.cs.en
- Init.cs
- InstallReferrerClient_Instance.cs.en
- InstallReferrerClient_Instance.cs
- Internal.en
- Internal
- JsonSerializerProvider.cs.en
- JsonSerializerProvider.cs
- Model.en
- Model
- PhoneNumber.cs.en
- PhoneNumber.cs
- RuStoreInstallReferrer.cs.en
- RuStoreInstallReferrer.cs
- RuStoreInstallReferrerClient.cs.en
- RuStoreInstallReferrerClient.cs
- Runtime.en
- Runtime
- SendFsaEvent.cs.en
- SendFsaEvent.cs
- SendFsaEventListener.cs.en
- SendFsaEventListener.cs
- docs.en
- docs
- examples.en
- examples
- ru.rustore.installreferrer.en
- ru.rustore.installreferrer
- BaseFields.cs.en
- BaseFields.cs
- BaseJsonSerializer.cs.en
- BaseJsonSerializer.cs
- BaseValue.cs.en
- BaseValue.cs
- Callbacks.en
- Callbacks
- Data.en
- Data
- DataConverter.cs.en
- DataConverter.cs
- FsaEvent.cs.en
- FsaEvent.cs
- FsaEventType.cs.en
- FsaEventType.cs
- GetInstallReferrer.cs.en
- GetInstallReferrer.cs
- GetInstallReferrerListener.cs.en
- GetInstallReferrerListener.cs
- IJsonSerializer.cs.en
- IJsonSerializer.cs
- Init.cs.en
- Init.cs
- InstallReferrerClient_Instance.cs.en
- InstallReferrerClient_Instance.cs
- Internal.en
- Internal
- JsonSerializerProvider.cs.en
- JsonSerializerProvider.cs
- Model.en
- Model
- PhoneNumber.cs.en
- PhoneNumber.cs
- RuStoreInstallReferrer.cs.en
- RuStoreInstallReferrer.cs
- RuStoreInstallReferrerClient.cs.en
- RuStoreInstallReferrerClient.cs
- Runtime.en
- Runtime
- SendFsaEvent.cs.en
- SendFsaEvent.cs
- SendFsaEventListener.cs.en
- SendFsaEventListener.cs
- docs.en
- docs
- examples.en
- examples
- ru.rustore.installreferrer.en
- ru.rustore.installreferrer