mirror of
https://github.com/ninjamuffin99/Funkin.git
synced 2025-09-01 03:15:53 +00:00
73 lines
1.7 KiB
Haxe
73 lines
1.7 KiB
Haxe
package funkin.mobile.util;
|
|
|
|
#if FEATURE_MOBILE_IAR
|
|
#if android
|
|
import extension.iarcore.android.IARAndroid as IAR;
|
|
#elseif ios
|
|
import extension.iarcore.ios.IARIOS as IAR;
|
|
#end
|
|
#end
|
|
|
|
/**
|
|
* Provides utility functions for working with in-app reviews.
|
|
* @see https://developer.android.com/guide/playcore/in-app-review
|
|
*/
|
|
@:nullSafety
|
|
class InAppReviewUtil
|
|
{
|
|
/**
|
|
* Chance for exiting the Results screen to display a prompt to review the game, as a percent.
|
|
*/
|
|
public static var ODDS:UInt = 5;
|
|
|
|
/**
|
|
* Initializes callbacks tied to the In-App Review functionality.
|
|
*/
|
|
public static function init():Void
|
|
{
|
|
#if FEATURE_MOBILE_IAR
|
|
#if android
|
|
trace('[IAR] Initializing callbacks...');
|
|
|
|
IAR.onLog.add(function(message:String):Void {
|
|
trace('[IAR] Error occurred: "$message"');
|
|
});
|
|
IAR.onReviewCompleted.add(function(success:Bool):Void {
|
|
trace('[IAR] Review completed: "${success ? 'Success' : 'Failure'}"');
|
|
});
|
|
IAR.onReviewError.add(function(message:String):Void {
|
|
trace('[IAR] Review failed: "$message"');
|
|
});
|
|
#end
|
|
#else
|
|
trace('[IAR] IAR is disabled...');
|
|
#end
|
|
}
|
|
|
|
/**
|
|
* When called, displays a card which prompts the user to provide a review of the game,
|
|
* which will be posted to the respective app store.
|
|
*
|
|
* Google Play will throttle this for us t
|
|
*/
|
|
public static function requestReview():Void
|
|
{
|
|
#if FEATURE_MOBILE_IAR
|
|
trace('[IAR] Sending in-app review request...');
|
|
#if android
|
|
IAR.init();
|
|
|
|
#if FEATURE_DEBUG_FUNCTIONS
|
|
IAR.requestAndLaunchFakeReviewFlow();
|
|
#else
|
|
IAR.requestAndLaunchReviewFlow();
|
|
#end
|
|
#else
|
|
IAR.requestReview();
|
|
#end
|
|
#else
|
|
trace('[IAR] IAR is disabled...');
|
|
#end
|
|
}
|
|
}
|