মিডিয়েশন নেটওয়ার্ক তাদের নিজস্ব Android ও iOS SDK-তে API প্রদান করতে পারে যা আরও বিজ্ঞাপন কাস্টমাইজেশনের অনুমতি দেয়। প্ল্যাটফর্ম চ্যানেল ব্যবহার করে আপনি ডার্ট কোড থেকে এইসব API কল করতে পারবেন।
AppLovin-এর Android এবং iOS SDK-তে Dart থেকে কীভাবে গোপনীয়তা API কল করতে হয় তা নিম্নলিখিত স্যাম্পেল থেকে জানতে পারবেন।
dart-এ মেথড চ্যানেল তৈরি করো
আপনার ডার্ট কোডে, একটি মেথড চ্যানেল তৈরি করুন:
/// Wraps a method channel that makes calls to AppLovin privacy APIs.
class MyMethodChannel {
final MethodChannel _methodChannel =
MethodChannel('com.example.mediationexample/mediation-channel');
/// Sets whether the user is age restricted in AppLovin.
Future<void> setAppLovinIsAgeRestrictedUser(bool isAgeRestricted) async {
return _methodChannel.invokeMethod(
'setIsAgeRestrictedUser',
{
'isAgeRestricted': isAgeRestricted,
},
);
}
/// Sets whether we have user consent for the user in AppLovin.
Future<void> setHasUserConsent(bool hasUserConsent) async {
return _methodChannel.invokeMethod(
'setHasUserConsent',
{
'hasUserConsent': hasUserConsent,
},
);
}
}
আপনার Android কোড পরিবর্তন করুন
Android-এ AppLovin SDK-তে API কল করার জন্য একটি মেথড চ্যানেল সেট-আপ করুন:
public class MainActivity extends FlutterActivity {
private static final String CHANNEL_NAME =
"com.example.mediationexample/mediation-channel";
@Override
public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
super.configureFlutterEngine(flutterEngine);
// Set up a method channel for calling APIs in the AppLovin SDK.
new MethodChannel(flutterEngine.getDartExecutor().getBinaryMessenger(), CHANNEL)
.setMethodCallHandler(
(call, result) -> {
switch (call.method) {
case "setIsAgeRestrictedUser":
AppLovinPrivacySettings.setIsAgeRestrictedUser(call.argument("isAgeRestricted"), context);
result.success(null);
break;
case "setHasUserConsent":
AppLovinPrivacySettings.setHasUserConsent(call.argument("hasUserConsent"), context);
result.success(null);
break;
default:
result.notImplemented();
break;
}
}
);
}
}
আপনার iOS কোড পরিবর্তন করুন
iOS-এ AppLovin SDK-তে API কল করার জন্য একটি মেথড চ্যানেল সেট-আপ করুন:
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[GeneratedPluginRegistrant registerWithRegistry:self];
// Set up a method channel for calling methods in 3P SDKs.
FlutterViewController* controller = (FlutterViewController*)self.window.rootViewController;
FlutterMethodChannel* methodChannel = [FlutterMethodChannel
methodChannelWithName:@"com.example.mediationexample/mediation-channel"
binaryMessenger:controller.binaryMessenger];
[methodChannel setMethodCallHandler:^(FlutterMethodCall* call, FlutterResult result) {
if ([call.method isEqualToString:@"setIsAgeRestrictedUser"]) {
[ALPrivacySettings setIsAgeRestrictedUser:call.arguments[@"isAgeRestricted"]];
result(nil);
} else if ([call.method isEqualToString:@"setHasUserConsent"]) {
[ALPrivacySettings setHasUserConsent:call.arguments[@"hasUserConsent"]];
result(nil);
} else {
result(FlutterMethodNotImplemented);
}
}];
}
@end
Dart-এ আপনার MethodChannel ব্যবহার করুন
এখন আপনি Dart থেকে AppLovin গোপনীয়তা API কল করতে আপনার MyMethodChannel ব্যবহার করতে পারেন:
/// An example widget for the home page of your app.
class HomePage extends StatefulWidget {
@override
_HomePageState createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
// Keep a reference to your MyMethodChannel.
static MyMethodChannel platform = MyMethodChannel();
@override
void initState() {
super.initState();
_updateAppLovinSettingsAndLoadAd();
}
Future<void> _updateAppLovinSettingsAndLoadAd() async {
// Update the AppLovin settings before loading an ad.
await platform.setAppLovinIsAgeRestrictedUser(true);
await platform.setHasUserConsent(false);
_loadAd();
}
void _loadAd() {
// TODO: Load an ad.
};
@override
Widget build(BuildContext context) {
// TODO: Build your widget.
}
}
অন্যান্য নেটওয়ার্কের মাধ্যমে কাজ করে এমন API সম্পর্কে আরও তথ্য Android এবং iOS ডকুমেন্টেশনে পাওয়া যাবে।