59 lines
No EOL
2.2 KiB
C#
59 lines
No EOL
2.2 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using Android.App;
|
|
using Android.Content;
|
|
using Android.Gms.Ads;
|
|
using Android.Net;
|
|
using Android.Runtime;
|
|
using Android.Views;
|
|
using Android.Widget;
|
|
using GameAnalyticsSDK;
|
|
using GameAnalyticsSDK.Utilities;
|
|
using TouchyTickets;
|
|
|
|
namespace Android {
|
|
public class AndroidPlatform : Platform {
|
|
|
|
private readonly Activity activity;
|
|
private readonly LinearLayout adLayout;
|
|
|
|
public AndroidPlatform(Activity activity, LinearLayout adLayout) {
|
|
this.activity = activity;
|
|
this.adLayout = adLayout;
|
|
}
|
|
|
|
public override void SetupAds() {
|
|
var ad = new AdView(this.activity) {
|
|
AdUnitId = "ca-app-pub-5754829579653773/7841535920",
|
|
AdSize = AdSize.SmartBanner
|
|
};
|
|
ad.LoadAd(new AdRequest.Builder()
|
|
.AddTestDevice("14B965C6457E17D2808061ADF7E34923")
|
|
.Build());
|
|
this.adLayout.AddView(ad);
|
|
}
|
|
|
|
public override void SetupAnalytics(Dictionary<string, object> json) {
|
|
GameAnalytics.SetAutoDetectAppVersion(true);
|
|
GameAnalytics.Initialize(this.activity, GA_MiniJSON.JsonEncode(new Hashtable(json)));
|
|
AndroidEnvironment.UnhandledExceptionRaiser += (o, args) => GameAnalytics.NewErrorEvent(GAErrorSeverity.Critical, args.Exception.ToString());
|
|
}
|
|
|
|
public override void AddResourceEvent(bool sink, string currency, float amount, string itemType, string itemId) {
|
|
GameAnalytics.NewResourceEvent(sink ? GAResourceFlowType.Sink : GAResourceFlowType.Source, currency, amount, itemType, itemId);
|
|
}
|
|
|
|
public override void SetKeepScreenOn(bool keep) {
|
|
if (keep) {
|
|
this.activity.Window.AddFlags(WindowManagerFlags.KeepScreenOn);
|
|
} else {
|
|
this.activity.Window.ClearFlags(WindowManagerFlags.KeepScreenOn);
|
|
}
|
|
}
|
|
|
|
public override void OpenRateLink() {
|
|
this.activity.StartActivity(new Intent(Intent.ActionView, Uri.Parse("https://play.google.com/store/apps/details?id=de.ellpeck.touchytickets")));
|
|
}
|
|
|
|
}
|
|
} |