API/Autodoc/Files/RuStoreInstallReferrerClient.cs.en.md
Namespaces
| Name |
|---|
Classes
| Name | |
|---|---|
| class | RuStore::UnityInstallReferrer::InstallReferrerClient — The Install Referrer SDK is an attribution tool for advertising and analytics systems. It allows you to track the number of installs of your app loaded from RuStore via advertising links. |
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.6.1";
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