kangaroo_app_sdk_platform_interface

Internal support package, not the app-facing SDK. Application developers should use kangaroo_app_sdk when it is released. That app-facing package is currently unpublished (publish_to: none) while its native release gates remain open. Installing this interface alone does not provide a working customer or business SDK.

Shared customer feature contracts, native method/event channels, result unions, and generated JSON models are consumed by the app-facing and platform packages. This interface does not initialize native customer SDK artifacts. It is not the separate Business SDK and exposes no Business Flutter integration.

This package's platform metadata declares Android, iOS, and web integration targets. It is an internal API boundary, not a promise that the app-facing package currently ships those integrations; that package declares its own platforms and remains unpublished. Generic Dart models and channel contracts do not establish desktop SDK support. The already published 0.0.1 metadata does not change until a separately authorized new release.

License: Apache-2.0 — Copyright 2026 Mobicept Inc. See LICENSE for the full license.

Requirements

Requires Dart 3 and Flutter 3.10 or newer. Generated models are included; normal consumers do not run code generation. Checked-in unions use Freezed 2.x. This package itself needs no Maven, CocoaPods, or SPM artifacts.

Customer SDK setup

See the app-facing package README for initialization, feature APIs, and push-token registration, and the publication guide for distribution gates and local validation.

The published name kangaroo_app_sdk_platform_interface and version 0.0.1 remain unchanged. The source now prepares 0.0.2 for review only; no new version is published by this change. pub.dev generates its Installing tab and import boilerplate; that does not make this the app-facing SDK. Updating this README on the published page requires a separately authorized new package version.

Offline interface example

example/example.dart demonstrates decoding a synthetic countries payload and authorization envelope into typed results. It uses no credentials, network, native SDK initialization, or platform registration. This is an example for interface implementers, not customer application setup. From this package, after resolving dependencies through FVM:

fvm flutter test test/example/interface_example_test.dart

pub.dev documentation review

The published 0.0.1 score report identifies two missing ten-point criteria: no example, and 439 documented API elements out of 2,411 (18.2%), below the 20% threshold. The prepared source adds the offline example and documents core configuration, result/state semantics, and twelve customer feature contracts, including registration, streams, and deserializer failure behavior.

These changes target those criteria, but the hosted score is unchanged. The release owner must validate/publish 0.0.2 and wait for pub.dev analysis before reporting new points or an authoritative documentation percentage. Generated model serialization and union behavior are unchanged; only redundant model imports are removed. Broader generation-template documentation should be maintained in the upstream generator when it is updated.

The complete hosted score is 120/160 at review time. In addition to the documentation/example criteria, static analysis earns 40/50 and dependency freshness earns 30/40. The prepared source removes analyzer-identified redundant imports and the deprecated @required annotation without changing optional nullable success data. Existing repository style-only infos are not suppressed.

freezed_annotation remains on compatible 2.x intentionally. Moving to 3.1.0 only to improve a score would require a coordinated generator/runtime migration and regeneration, preserving consumer when/map behavior and tests. This patch does not pretend to close that dependency-freshness criterion. Repository/issue-link reachability warnings also need an owner access review; no repository visibility or permission settings are changed.

Libraries

platform_interface/base_platform_interface
platform_interface/features/archive_inbox_item/archive_inbox_item_platform_interface
platform_interface/features/banners/banners_platform_interface
platform_interface/features/branches/branches_platform_interface
platform_interface/features/business/business_platform_interface
platform_interface/features/business_list/businesses_platform_interface
platform_interface/features/claim_offer/claim_offer_platform_interface
platform_interface/features/conglomerate_memberships/conglomerate_memberships_platform_interface
platform_interface/features/countries/countries_platform_interface
platform_interface/features/deposit_gift_card/gift_card_deposit_platform_interface
platform_interface/features/draws/draws_platform_interface
platform_interface/features/frequent_buyer_programs/frequent_buyer_programs_platform_interface
platform_interface/features/geofences/geofences_platform_interface
platform_interface/features/get_amazon_product_variants/get_amazon_product_variants_platform_interface
platform_interface/features/get_crm_fields/get_crm_fields_platform_interface
platform_interface/features/get_default_business_id/get_default_business_id_platform_interface
platform_interface/features/get_public_amazon_product_variants/get_public_amazon_product_variants_platform_interface
platform_interface/features/get_public_campaign/get_public_campaign_platform_interface
platform_interface/features/get_public_promotions/get_public_promotions_platform_interface
platform_interface/features/get_public_qr_code_scan_token/get_public_qr_code_scan_token_platform_interface
platform_interface/features/get_spin_to_win_prizes/get_spin_to_win_prizes_platform_interface
platform_interface/features/gift_cards/gift_cards_platform_interface
platform_interface/features/make_gift_card_purchase/gift_card_purchase_platform_interface
platform_interface/features/make_pay_pal_payment/pay_pal_payment_platform_interface
platform_interface/features/order_status/order_status_platform_interface
platform_interface/features/perform_social_media_action/social_media_action_perform_platform_interface
platform_interface/features/post_offer_facebook_share/offer_facebook_share_platform_interface
platform_interface/features/public_a_la_carte_products/public_ala_carte_products_platform_interface
platform_interface/features/public_amazon_catalogue/public_amazon_catalogue_platform_interface
platform_interface/features/public_banners/public_banners_platform_interface
platform_interface/features/public_branches/public_branches_platform_interface
platform_interface/features/public_business_settings/public_business_settings_platform_interface
platform_interface/features/public_deposit_gift_card/public_deposit_gift_card_platform_interface
platform_interface/features/public_offer/public_offer_platform_interface
platform_interface/features/public_offers/public_offers_platform_interface
platform_interface/features/public_products/public_products_platform_interface
platform_interface/features/public_qr_code_scan/scanning_public_qr_code_platform_interface
platform_interface/features/public_reward/public_reward_platform_interface
platform_interface/features/public_rewards/public_rewards_platform_interface
platform_interface/features/push_token_registration/push_token_registration_platform_interface
platform_interface/features/redeem_amazon_catalogue_item/redeem_amazon_catalogue_items_platform_interface
platform_interface/features/redeem_coupon/redeem_coupons_platform_interface
platform_interface/features/redeem_reward/redeem_rewards_platform_interface
platform_interface/features/strings/strings_platform_interface
platform_interface/features/tiers/tiers_platform_interface
platform_interface/features/trigger_geofence/trigger_geofences_platform_interface
platform_interface/features/update_default_business_id/update_default_business_id_platform_interface
platform_interface/features/upload_image/upload_image_platform_interface
platform_interface/features/user_ala_carte/ala_carte_products_platform_interface
platform_interface/features/user_amazon_catalogue/user_amazon_catalogue_platform_interface
platform_interface/features/user_authentication/user_authentication
platform_interface/features/user_balance_transfer/balance_transfer_platform_interface
platform_interface/features/user_business_ala_carte_products/user_business_ala_carte_products_platform_interface
platform_interface/features/user_business_banners/user_business_banners_platform_interface
platform_interface/features/user_business_coupons/user_business_coupons_platform_interface
platform_interface/features/user_business_frequent_buyer_programs/user_business_frequent_buyer_programs_platform_interface
platform_interface/features/user_business_gift_cards/user_business_gift_cards_platform_interface
platform_interface/features/user_business_notifications/user_business_notifications_platform_interface
platform_interface/features/user_business_offers/user_business_offers_platform_interface
platform_interface/features/user_business_products/user_business_products_platform_interface
platform_interface/features/user_business_profile/user_business_profile_platform_interface
platform_interface/features/user_business_rewards/user_business_rewards_platform_interface
platform_interface/features/user_business_tiers/user_business_tiers_platform_interface
platform_interface/features/user_business_used_coupons/user_business_used_coupons_platform_interface
platform_interface/features/user_campaign_messages/campaign_messages_platform_interface
platform_interface/features/user_check_in/user_check_in_platform_interface
platform_interface/features/user_conglomerate_notification_preferences/get_conglomerate_notification_preferences_platform_interface
platform_interface/features/user_coupons/user_coupons_platform_interface
platform_interface/features/user_delete/user_delete_platform_interface
platform_interface/features/user_details/user_details_platform_interface
platform_interface/features/user_notification_preferences/get_notification_preferences_platform_interface
platform_interface/features/user_notification_preferences_update/update_notification_preferences_platform_interface
platform_interface/features/user_offers/user_offers_platform_interface
platform_interface/features/user_pin_reset_request/user_pin_reset_request_platform_interface
platform_interface/features/user_pin_reset_with_token/user_pin_reset_with_token_platform_interface
platform_interface/features/user_pin_reset_with_verification_code/user_pin_reset_platform_interface
platform_interface/features/user_pin_update/user_pin_update_platform_interface
platform_interface/features/user_products/user_products_platform_interface
platform_interface/features/user_profile/user_profile_platform_interface
platform_interface/features/user_profile_update/user_profile_update_platform_interface
platform_interface/features/user_registration/user_registration_platform_interface
platform_interface/features/user_registration_with_crm/user_registration_with_crm_platform_interface
platform_interface/features/user_rewards/user_rewards_platform_interface
platform_interface/features/user_scan_receipt/user_scan_receipt_platform_interface
platform_interface/features/user_transaction_history/user_transaction_history_platform_interface
platform_interface/features/user_transfer_messages/transfer_messages_platform_interface
platform_interface/features/user_transfer_recall/transfer_recall_platform_interface
platform_interface/features/user_unsubscribe/user_unsubscribe_platform_interface
platform_interface/features/user_used_coupons/user_used_coupons_platform_interface
platform_interface/features/user_verification/user_account_verification_platform_interface
platform_interface/kangaroo_app_sdk_platform_interface