pikd_flutter_api 0.8.0-beta.5
pikd_flutter_api: ^0.8.0-beta.5 copied to clipboard
Typed Flutter/Dart client for the PIKD SDK API, including collectibles, challenges, profiles, leaderboards, feeds, authentication, and AR telemetry.
PIKD SDK API for Dart #
Typed Dart client for the PIKD /sdk/v1 API. It provides authentication,
collectibles, challenges, profiles, collections, leaderboards, feeds, and AR
session telemetry for applications that compose individual PIKD capabilities.
Release candidate:
pikd_flutter_apiversion0.8.0-beta.5.
Requirements #
- Dart 3.3 or later
- A PIKD SDK key issued for your tenant
- A separate written SDK agreement with ELEOS WORLD LTD
Installation #
After the package is published, add it from pub.dev:
dependencies:
pikd_flutter_api: ^0.8.0-beta.5
Then resolve dependencies:
dart pub get
Configure the client #
Do not hard-code production SDK keys in source control. Inject them through your
environment or deployment system and add the key to an ApiClient:
import 'package:pikd_flutter_api/api.dart';
final client = ApiClient(basePath: 'https://api.pikd.app/sdk/v1')
..addDefaultHeader('x-pikd-sdk-key', sdkKey);
final collectiblesApi = CollectiblesApi(client);
Tier 1 and higher integrations should also pass the opaque PIKD user reference required by the selected endpoint. Do not send personally identifiable user data as the user reference.
Find nearby collectibles #
final collectibles = await collectiblesApi.getNearbyCollectibles(
latitude,
longitude,
radiusM: 250,
xPikdUser: pikdUserReference,
) ??
const <Collectible>[];
for (final collectible in collectibles) {
print('${collectible.id}: ${collectible.title}');
}
Collect an item #
Anonymous Tier-0 integrations can omit userRefBody:
final result = await collectiblesApi.collectCollectible(collectibleId);
print(result?.status);
Identified integrations pass their opaque host reference:
final result = await collectiblesApi.collectCollectible(
collectibleId,
userRefBody: UserRefBody(userRef: hostUserReference),
);
API failures throw ApiException. Handle them at the boundary where your app
maps network errors to user-visible states.
Authentication #
The package supports the authentication schemes generated from the PIKD OpenAPI
contract. Most SDK endpoints use the tenant key in the x-pikd-sdk-key header.
Tier 1 integrations can exchange a signed host assertion through AuthApi for
an opaque PIKD user identifier.
Available APIs #
AuthApiChallengesApiCollectiblesApiFeedApiLeaderboardApiProfileApiTelemetryApi
Generated endpoint and model references are included under doc/.
A runnable nearby-collectibles example is available in
example/pikd_flutter_api_example.dart.
Regeneration #
The client implementation is generated from the versioned PIKD OpenAPI
contract. Public metadata, this README, the changelog, the license, and examples
are intentionally protected by .openapi-generator-ignore and must be reviewed
separately from generated source changes.
License #
This package is proprietary software. Use requires a written SDK agreement with ELEOS WORLD LTD. See LICENSE and the PIKD SDK license page.