首页 > 解决方案 > Flutter admob 通过 IAP 移除广告

问题描述

嗨,我正在用这种方式展示 firebase admob 横幅和插页式广告。它显示来自 firebase admob 的广告。它已签署到 firebase

import 'package:firebase_admob/firebase_admob.dart';
import 'dart:io';

class AdvertService {
  static final AdvertService _instance = AdvertService._internal();
  factory AdvertService() => _instance;
  MobileAdTargetingInfo _targetingInfo;

  final String _bannerAd = Platform.isAndroid
      ? 'ca-app-pub-xxxxxxx1/5xxxxxxxx'
      : 'ca-app-pub-xxxxxxx1/2xxxxxxxx';
  final String _interAd = Platform.isAndroid
      ? 'ca-app-pub-xxxxxxx1/1xxxxxxxx'
      : 'ca-app-pub-xxxxxxx1/6xxxxxxxx';
  // FirebaseAdMob.instance.initialize(appId: appId);

  AdvertService._internal() {
    //_targetingInfo = MobileAdTargetingInfo( testDevices: <String>["54a0a4f2"]);
    _targetingInfo = MobileAdTargetingInfo();
  }
  showBanner() {
    print(_bannerAd);
    BannerAd banner = BannerAd(
        adUnitId: _bannerAd,
        size: AdSize.smartBanner,
        targetingInfo: _targetingInfo);

    banner
      ..load()
      ..show();
    banner.dispose();
  }

  showIntersitial() {
    InterstitialAd interstitialAd =
        InterstitialAd(adUnitId: _interAd, targetingInfo: _targetingInfo);

    interstitialAd
      ..load()
      ..show();

    interstitialAd.dispose();
  }
}

并展示广告

final AdvertService _advertService = AdvertService();

_advertService.showBanner();

or
_advertService.showIntersitial();

我想做的是做一个 IAP 并从这个用户那里删除广告。我该怎么做

标签: flutterin-app-purchase

解决方案


有几种方法可以完成您的要求。
我建议您遵循本教程:

https://fireship.io/lessons/flutter-inapp-purchases/

并安装此软件包:

https://pub.dev/packages/in_app_purchase

您必须在 Google Play 控制台和/或 AppStoreConnect 上启用 IAP。请记住,在应用程序中使用 IAP 需要遵守 Google 和/或 Apple 的使用条款,因此请注意这些条款。
此外,如果您想使用“消耗品”(可以购买超过 1 次的物品),您必须将用户是否已购买此物品存储在您的后端(例如在 Firebase Cloud Firestore 中),因为两者Apple 和 Google 只能存储有关用户是否购买了某件商品的信息,而不是他购买了多少次的信息。

让我考虑一下:
管理 IAP 可能会非常痛苦,因为这不是最简单的事情,尤其是在 Flutter 中,原生功能不是由开发人员直接管理的。如果您的目标是仅在用户想要支付少量费用(例如 0.99 欧元或 1.20 美元)时删除广告,我建议您创建 2 个版本的应用程序,一个有广告,一个没有广告,将第二个版本在商店上架,当用户点击“删除广告”时,打开相应的商店并提示他下载您的应用程序的“高级版”。您将节省大量时间和心理健康!

快乐编码!


推荐阅读