gyflut 0.0.8 copy "gyflut: ^0.0.8" to clipboard
gyflut: ^0.0.8 copied to clipboard

gy flutter plugin

1、引用 #

Pub.dev: https://pub.dev/packages/gyflut

增加依赖: flutter pub add gyflut

或者手动在工程 pubspec.yaml 中加入 dependencies:

dependencies:
  gyflut: ^0.0.8

下载依赖:

flutter pub get
flutter run

2、配置 #

2.1 Android配置 #

2.1.1 app的build.gradle配置

到个推官网申请appID、配置签名文件

defaultConfig {
        applicationId "自己填"
        //.......
        manifestPlaceholders = [
                GETUI_APPID         : "自己填",//请填写开发者在 https://dev.getui.com/ 申请的GETUI_APPID
                GT_INSTALL_CHANNEL: "getui",//请填写开发者需要的channel
        ]
    }
signingConfigs {
        myConfig {
            storeFile file("自己填")//请换成开发者自己的签名配置
            keyAlias '自己填'
            keyPassword '自己填'
            storeFile file('../自己填')
            storePassword '自己填'
        }
    }

    buildTypes {
        debug {
            minifyEnabled false
            signingConfig signingConfigs.myConfig
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        //..........
        }

配置依赖,最新版本见官网: https://docs.getui.com/geyan/mobile/android/init/

dependencies {
    //-----集成个验SDK-----
    //一键认证sdk
    implementation 'com.getui:gysdk:3.2.0.0'
    //个推公共库,如已接其他个推sdk则保留一个最高版本即可
    implementation 'com.getui:gtc:3.2.18.0'
}
2.1.2 project的build.gradle配置
allprojects {
    repositories {
        maven {
           //仓库配置
            url "https://mvn.getui.com/nexus/content/repositories/releases/"
        }
       //....
    }
}

2.2 IOS配置 #

在你项目的main.dart中添加下列代码:

/// preLoginUseCache:预登录是否使用缓存,默认为true
/// debug:是否开启SDK的debug模式,默认false
/// operatorDebug:是否开启运营商的debug模式,默认false
/// appId: appid(ios)
/// preLoginTimeout: 预登录超时时长(ios)
/// eloginTimeout:登录超时时长(ios)
 Gyflut().initGySdk(true, true, false, "5xpxEg5qvI9PNGH2kQAia2");

2.3 ohos配置 #

  • 使用鸿蒙定制版 Flutter,下载地址: OpenHarmony Flutter使用教程
  • ohos工程需要兼容字节码包,在项目级build-profile.json5:
  • ohos工程需要配置正确的签名信息,在项目级build-profile.json5:
    "products": [
      {
        "name": "default",
        "signingConfig": "签名信息",
        "compatibleSdkVersion": "5.0.0(12)",
        "runtimeOS": "HarmonyOS",
        "buildOption": {
          "strictMode": {
            "useNormalizedOHMUrl": true
          }
        }
      }
    ],

2.4 ohos UI配置 #

ohos需要原生UI的配置项,参考demo中Index.ets 和 EntryAbility.ets

//--------------entryAbility类-------------------
 private  static  entryAbility :EntryAbility|null

  onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
    EntryAbility.entryAbility = this
    super.onCreate(want, launchParam)
  }

    public  static  getInstanse(): EntryAbility|null {
       return EntryAbility.entryAbility
    }

    onDestroy(): void {
      super.onDestroy()
      EntryAbility.entryAbility = null
    }
//----------------Index类-----------------
private readonly  dialogController: CustomDialogController //省略 ......

aboutToAppear(): void {
//使用弹框模式
//this.config.setWindowMode(this.dialogController)
//this.config.setLogoMargin({ top: 50 })

let  plugin : GysdkFlutterPlugin =   EntryAbility.getInstanse()?.getFlutterEngine()?.getPlugins()?.get(new GysdkFlutterPlugin().getUniqueClassName()) as GysdkFlutterPlugin
plugin.config = this.config
}

配置 module.json5

在项目中配置:

    "requestPermissions": [
      {"name" :  "ohos.permission.INTERNET"},
    ],
    "metadata": [
      {
        "name": "GETUI_APPID",
        "value": '你的appid',
      },
      {
        "name": "GT_INSTALL_CHANNEL",
        "value": 'CHANNEL'
      }]
}

3、使用 #

import 'package:gyflut/gyflut.dart';

3.1 API #

/**
* 初始化
* preLoginUseCache:预登录是否使用缓存,默认为true
* debug:是否开启SDK的debug模式,默认false
* operatorDebug:是否开启运营商的debug模式,默认false
* appId: appid(ios)
* preLoginTimeout: 预登录超时时长(ios)
* eloginTimeout:登录超时时长(ios)
*/
Gyflut().initGySdk( true, true, false, "5xpxEg5qvI9PNGH2kQAia2");


//预登录
 Gyflut().ePreLogin();

//预登录是否有效
 bool? isPreLoginResultValid = await Gyflut().isPreLoginResultValid();

//预登录信息
Map<dynamic, dynamic>? getPreLoginResult = await Gyflut().getPreLoginResult();

//登录
Gyflut().login();

//关闭弹框(仅ohos)
Gyflut().closeAuthLoginPage()

3.2 Android demo #

https://github.com/GetuiLaboratory/getui-flutter-plugin/tree/master/example

[demo.png]

3.3 IOS demo #

https://github.com/GetuiLaboratory/getui-flutter-plugin/tree/master/example

[demo]

3.4 ohos demo #

https://github.com/GetuiLaboratory/getui-flutter-plugin/tree/master/example [ohos.jpeg]

1
likes
130
points
146
downloads

Publisher

unverified uploader

Weekly Downloads

gy flutter plugin

Homepage

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on gyflut

Packages that implement gyflut