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/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/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_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_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