Search packages, repositories and app categories

Package detailsv2.5.1

rammus

Flutter plugin for AliCloud push, including both android and ios. Receive background messages and notifications.

AndroidiOS
30-day downloads
53
Likes
14
Pub points
120

Install package

flutter pub add rammus

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

Rammus is a Flutter plugin that enables integration with AliCloud push services for both Android and iOS platforms. It supports receiving background messages and notifications, allowing apps to stay responsive even when not in the foreground. The plugin simplifies the process of handling push notifications across platforms, making it easier to implement real-time messaging features. With official support from AliCloud, Rammus ensures reliable delivery and compatibility with mobile push infrastructure.

Use cases

  • Implementing background push notifications
  • Integrating AliCloud push service
  • Handling message delivery in the background
  • Enabling real-time app updates
  • Supporting cross-platform push functionality

Key features

  • Cross-platform support (Android & iOS)
  • Background message handling
  • AliCloud push integration
  • Simple setup via Flutter pub
  • Official AliCloud compatibility

Suitable for

  • Apps requiring real-time notifications
  • Developers using AliCloud push services
  • Mobile apps needing background message processing
  • Projects targeting both Android and iOS
  • Teams seeking reliable push notification solutions

Considerations

  • Requires AliCloud account setup
  • Needs platform-specific configuration
  • May require additional backend integration
  • Limited to AliCloud push ecosystem
  • Depends on proper Firebase or APNs setup for iOS

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

Rammus pub package

阿里云推送Flutter插件.

Rammus这个项目是一位网友付费开发的。在此特别感谢这位朋友。 能将其开源出来,是要感谢这位朋友的。 开源不易,时间有限,可能有很多功能还没有完成,需要大家共同维护,请各位朋友理解。 有问题可以提,但请嘴下积德,开源不意味着开源作者欠某些人的。 欢迎加入QQ群:892398530共同交流。

欢迎各位使用者PR。

麻烦先读一下官方文档

麻烦读下推送官方文档

Flutter使用Rammus实现阿里云推送

Android上的配置

设置appKey,appSecret

在AndroidManifest.xml设置appKey,appSecret

        <meta-data
            android:name="com.alibaba.app.appkey"
            android:value="" /> <!-- 请填写你自己的- appKey -->
        <meta-data
            android:name="com.alibaba.app.appsecret"
            android:value="" />

也可以动态设置,具体方式看官方文档

初始化SDK

好吧,由于SDK的限制,用户只能在Application中的onCreate里初始化:

        RammusPlugin.initPushService(this)

此步骤仅进行初始化,未进行推送渠道的注册,有关注册渠道的信息请看下方使用方式部分。

设置第三方推送通道

在AndroidManifest.xml设置第三方推送的相关信息

        <!-- 华为 -->
        <meta-data
          android:name="com.huawei.hms.client.appid"
          android:value="appid=华为appid" />
        <!-- 小米 -->
        <meta-data
          android:name="com.xiaomi.push.client.app_id"
          android:value=""/>
        <meta-data
          android:name="com.xiaomi.push.client.app_key"
          android:value="" />
        <!-- oppo -->
        <meta-data
          android:name="com.oppo.push.client.app_key"
          android:value="" />
        <meta-data
          android:name="com.oppo.push.client.app_secret"
          android:value="" />
        <!-- meizu -->
        <meta-data
          android:name="com.meizu.push.client.app_id"
          android:value="" />
        <meta-data
          android:name="com.meizu.push.client.app_key"
          android:value="" />
        <!-- vivo -->
        <meta-data
          android:name="com.vivo.push.app_id"
          android:value="" />
        <meta-data
          android:name="com.vivo.push.api_key"
          android:value="" />
        <!-- gcm -->
        <meta-data
          android:name="com.gcm.push.send_id"
          android:value="" />
        <meta-data
          android:name="com.gcm.push.app_id"
          android:value="" />
        <meta-data
          android:name="com.gcm.push.project_id"
          android:value="" />
        <meta-data
          android:name="com.gcm.push.api_key"
          android:value="" />

在app build.gradle文件中添加第三方推送依赖

        implementation 'com.aliyun.ams:alicloud-android-third-push-huawei:$version'
        implementation 'com.aliyun.ams:alicloud-android-third-push-xiaomi:$version'
        implementation 'com.aliyun.ams:alicloud-android-third-push-oppo:$version'
        implementation 'com.aliyun.ams:alicloud-android-third-push-vivo:$version'
        implementation 'com.aliyun.ams:alicloud-android-third-push-meizu:$version'
        implementation 'com.aliyun.ams:alicloud-android-third-push-fcm:$version'

Application在Android原生项目里。不会创建的自行百度。

iOS上的配置

稍微有点麻烦。

添加一下源

在项目中的PodFile前面加上下面的两句话

source 'https://github.com/CocoaPods/Specs.git'
source 'https://github.com/aliyun/aliyun-specs.git'
添加一下info.plist

请参考这个链接把 把info.plist添加到你的项目中。

到此ios配置完了。

关于iOS通知栏

如果你想推送通知的时候在通知栏上有显示请确保调用了下面的代码:

  rammus.configureNotificationPresentationOption();

使用方式

注册推送渠道(Android 端)

iOS 端目前未将注册渠道与初始化分离,若你的应用目前仅在 iOS 端运行,可以忽略本步骤。

插件提供 register() 方法以执行 Android 端 SDK 的 void register(Context context, CommonCallback callback);与厂商渠道的 register 接口:

    rammus.register();

根据需求可以在用户签署隐私政策后再执行本方法,以防止提前获取到用户敏感信息进而影响应用上架应用市场。

更多请见阿里云文档

Categories

Source repository

Projects using this package

No data available yet.