A Flutter plugin for Yandex AppMetrica SDK, a marketing platform for app install attribution, app analytics, and push campaigns.

Overview

appmetrica_sdk

pub package CircleCI

A Flutter plugin for Yandex AppMetrica SDK.

Plugin implementation status

Implemented

Not implemented yet

Usage

To use this plugin, add appmetrica_sdk as a dependency in your pubspec.yaml file. See demonstration how to use the appmetrica_sdk plugin in example section.

Attribute app downloads that originate from Apple Search Ads campaigns (iOS only)

Some Appmetrica SDK features, such as retrieve attribution data from user interaction with ads originating from Apple Search Ads campaigns require the iAd Framework to be enabled. Without this framework Appmetrica SDK cannot collect this information.

To enable the iAd framework:

  • In your Xcode project, select your project's target.
  • Select the General tab for your target.
  • Expand the Linked Frameworks and Libraries section.
  • Click + to add a framework.
  • Select iAd.framework.

Documentation

Common documentation available on AppMetrica official site.

Bugs or Requests

If you encounter any problems feel free to open an issue. If you feel the library is missing a feature, please raise a ticket on GitHub and we'll look into it. Pull request are also welcome.

Comments
  • Не фиксируются данные профиля.

    Не фиксируются данные профиля.

    Версия 0.0.2+1

    Подобный код

    AppmetricaSdk().reportUserProfileCustomNumber(key: 'ID', value: this.id.toDouble());
    AppmetricaSdk().reportUserProfileUserName(userName: this.name);
    

    не фиксирует данные профиля в appmetrica. Т.е. у пользователей доступна только стандартная информация, тип устройства, разрешение и прочее.

    Внутрь того как устроенно внутри сильно не капал, но заметил что вызов

    await _channel
            .invokeMethod<void>('reportUserProfileUserName', <String, dynamic>{
          'userName': userName,
        });
    

    возвращает null

    bug 
    opened by jumper423 4
  • MissingPluginException(No implementation found for method activate on channel emallstudio.com/appmetrica_sdk)

    MissingPluginException(No implementation found for method activate on channel emallstudio.com/appmetrica_sdk)

    Hi! When i'm trying to launch app, my app crushes with error

    E/flutter ( 9208): #0 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:319:7) E/flutter ( 9208): <asynchronous suspension> E/flutter ( 9208): #1 AppmetricaSdk.activate (package:appmetrica_sdk/src/appmetrica_sdk.dart:56:20) E/flutter ( 9208): #2 main (package:spintowinclone/main.dart:13:8) E/flutter ( 9208): #3 _AsyncAwaitCompleter.start (dart:async-patch/async_patch.dart:45:6) E/flutter ( 9208): #4 main (package:spintowinclone/main.dart:8:10) E/flutter ( 9208): #5 _runMainZoned.<anonymous closure>.<anonymous closure> (dart:ui/hooks.dart:239:25) E/flutter ( 9208): #6 _rootRun (dart:async/zone.dart:1126:13) E/flutter ( 9208): #7 _CustomZone.run (dart:async/zone.dart:1023:19) E/flutter ( 9208): #8 _runZoned (dart:async/zone.dart:1518:10) E/flutter ( 9208): #9 runZoned (dart:async/zone.dart:1502:12) E/flutter ( 9208): #10 _runMainZoned.<anonymous closure> (dart:ui/hooks.dart:231:5) E/flutter ( 9208): #11 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:307:19) E/flutter ( 9208): #12 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:174:12) E/flutter ( 9208):

    The error occurres when app trying to do this part of code

    await AppmetricaSdk() .activate(apiKey: 'db2206ed-c61a-43aa-b95c-6912f60bd25e'); //apiKey from example

    bug 
    opened by RenatFakhrutdinov 3
  • Дублируется событие

    Дублируется событие "Запуск приложения"

    Дублируется событие "Запуск приложения" через несколько минут image

    Инициализация вида

    Future<Null> main() async {
      WidgetsFlutterBinding.ensureInitialized();
      
      await AppmetricaSdk()
          .activate(apiKey: '99051a15-ec83-4671-a89a-34dc655cd89c');
     
      };
    
     
      runZoned<Future<Null>>(() async {
        runApp(new MyApp());
      }, onError: (error, stackTrace) async {
        await _reportError(error, stackTrace);
      });
    }
    
    opened by ventskus-roman 2
  • AppStore. ERROR ITMS-90171 with latest version

    AppStore. ERROR ITMS-90171 with latest version

    ERROR ITMS-90171: "Invalid Bundle Structure - The binary file 'Runner.app/Frameworks/YandexMobileMetricaCrashes.framework/helper' is not permitted. Your app can’t contain standalone executables or libraries, other than a valid CFBundleExecutable of supported bundles. Refer to the Bundle Programming Guide at https://developer.apple.com/go/?id=bundle-structure for information on the iOS app bundle structure."

    bug 
    opened by formatCvt 1
  • Please add withAppVersion to init

    Please add withAppVersion to init

    Hello,

    Please add this paramerter to library initalization: https://appmetrica.yandex.com/docs/mobile-sdk-dg/android/ref/ru/yandex/metrica/YandexMetricaConfig.Builder.html#method_detail__method_withAppVersion

    Thanks

    opened by erez213 0
  • After upgrading  flutter 2.5.1

    After upgrading flutter 2.5.1

    [✓] Flutter (Channel stable, 2.5.1, on macOS 11.6 20G165 darwin-x64, locale ru-RU)
        • Flutter version 2.5.1 at /Users/linar/development/flutter
        • Upstream repository https://github.com/flutter/flutter.git
        • Framework revision ffb2ecea52 (12 дней назад), 2021-09-17 15:26:33 -0400
        • Engine revision b3af521a05
        • Dart version 2.14.2
    
    [✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
        • Android SDK at /Users/linar/Library/Android/sdk
        • Platform android-30, build-tools 30.0.2
        • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
        • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)
        • All Android licenses accepted.
    
    [✓] Xcode - develop for iOS and macOS
        • Xcode at /Applications/Xcode.app/Contents/Developer
        • Xcode 12.5.1, Build version 12E507
        • CocoaPods version 1.10.1
    
    Failed to build iOS app
    Error output from Xcode build:
    ↳
        ** BUILD FAILED **
    Xcode's output:
    ↳
        /Users/linar/.pub-cache/hosted/pub.dartlang.org/appmetrica_sdk-0.0.7/ios/Classes/AppmetricaSdkPlugin.m:64:15: warning: unused variable 'maxReportsInDatabaseCount' [-Wunused-variable]
            NSInteger maxReportsInDatabaseCount = [call.arguments[@"maxReportsInDatabaseCount"] integerValue];
                      ^
    2
        1 warning generated.
        ld: building for iOS Simulator, but linking in dylib built for iOS, file '/Users/linar/Projects/lariba/ios/Pods/YandexMobileMetrica/ios/dynamic/YandexMobileMetrica.framework/YandexMobileMetrica' for architecture arm64
        clang: error: linker command failed with exit code 1 (use -v to see invocation)
        note: Using new build system
        note: Building targets in parallel
        note: Planning build
        note: Analyzing workspace
        note: Constructing build description
        note: Build preparation complete
    
    
    opened by glin94 5
  • No GetDeviceId getter

    No GetDeviceId getter

    I didn't found appDeviceId getter method. I've never worked with Java language, so don't blame code quality. My workaround was:

    private void handleGetDeviceId(MethodCall call, Result result) {
            try {
                System.out.println("Getting DeviceID");
                final String[] deviceId = new String[1];
                AppMetricaDeviceIDListener listener = new AppMetricaDeviceIDListener() {
                    @Override
                    public void onLoaded(@Nullable String s) {
                        deviceId[0] = s;
                        System.out.println("s loaded: " + s);
                        System.out.println("deviceId[0] set: " + deviceId[0]);
                    }
    
                    @Override
                    public void onError(@NonNull AppMetricaDeviceIDListener.Reason reason) {
                        System.out.println("DeviceID loading error");
                    }
                };
                YandexMetrica.requestAppMetricaDeviceID(listener);
                TimeUnit.SECONDS.sleep(1);
                System.out.println("deviceId[0] loaded: " + deviceId[0]);
                result.success(deviceId[0]);
            } catch (Exception e) {
                Log.e(TAG, e.getMessage(), e);
                result.error("Error getting Device ID", e.getMessage(), null);
            }
        }
    

    It worked. Please fell free to take it as a starting point.

    opened by ak1987 0
Releases(v0.0.7)
Owner
EM ALL iT Studio
Games and Apps developer
EM ALL iT Studio
'Minimalistic Push' is a minimalistic push-up application now built with Flutter.

Minimalistic Push Minimalistic Push is one of the simplest push-up trackers out there. You can track your push-ups in the training mode and see an ove

Jonas Poxleitner 10 Dec 29, 2022
This App Currently is a Simple Budget Manager Show Analytics Based on Your Past Transactions

Budgex [In Progress] This App Currently is a Simple Budget Manager Show Analytics Based on Your Past Transactions Features Localization Persistant Sto

Mohammad Javad Hossieni 8 Nov 14, 2022
This design has been created for educational purposes. Also this project has integrated push notifications with firebase and my own server in python.

Ui Clone of the Nequi application This design has been created for educational purposes. Also this project has integrated push notifications with fire

Juan Suarez 3 Nov 17, 2022
Building a Chat App with Firebase, Image Upload, Push Notifications

chat_app A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if this

Trần Văn Nguyên 2 Nov 15, 2021
Cross platform application for iOS and Android using Google's SDK Flutter.

scout Cross platform application for iOS and Android using Google's SDK Flutter. Launch screen for the application. The menu for selecting cookies. Cu

null 0 Nov 9, 2021
Flutter SDK for building a realtime broadcaster using the Millicast platform

Flutter SDK for building a realtime broadcaster using the Millicast platform. This Software Development Kit (SDK) for Flutter allows developers to simplify Millicast services integration into their own Android and iOS apps.

Millicast, Inc. 9 Oct 29, 2022
A Flutter plugin that supports Pangle SDK on Android and iOS.

Thanks for non-commercial open source development authorization by JetBrains. 穿山甲 Flutter SDK `pangle_flutter`是一款集成了字节跳动穿山甲 Android 和 iOS SDK的 Flutter

null 121 Dec 2, 2022
A Flutter plugin for the Google Mobile Ads SDK

A Flutter plugin for the Google Mobile Ads SDK

Google Ads 251 Jan 2, 2023
Official plugin for using Thepeer SDK with flutter https://thepeer.co

Flutter Thepeer This package makes it easy to use the Thepeer in a flutter project. ?? Screen Shots ?? How to Use plugin ThePeer Send Launch ThepeerSe

The Peer 23 Dec 27, 2022
Official plugin for using Thepeer SDK with flutter https://thepeer.co

Flutter Thepeer This package makes it easy to use the Thepeer in a flutter project. ?? Screen Shots ?? How to Use plugin Adding MaterialSupport Add th

Thepeer 23 Dec 27, 2022
A cross-platform (Android/Windows/macOS/Linux) USB plugin for Flutter

quick_usb A cross-platform (Android/Windows/macOS/Linux) USB plugin for Flutter Usage List devices List devices with additional description Get device

Woodemi Co., Ltd 39 Oct 1, 2022
A cross platform plugin for modifying calendars on the user's device

Device Calendar Plugin If you're upgrading to v4.0.0, your previous code will need to be modified (slightly) otherwise it will not run after update. S

Built to Roam 209 Nov 16, 2022
Sample app to demonstrate the integration and working of Dyte SDK for mobile, using Flutter.

Flutter Sample App by dyte Sample App to demonstrate Dyte SDK in flutter Explore the docs » View Demo · Report Bug · Request Feature Table of Contents

Dyte 12 Jan 1, 2023
Stream Feed official Flutter SDK. Build your own feed experience using Dart and Flutter.

Official Flutter packages for Stream Activity Feeds The official Dart client for Stream Activity Feeds, a service for building activity feed applicati

Stream 67 Sep 26, 2022
Pensil Community official Flutter SDK. Build your own community experience using Dart and Flutter.

Official flutter package for Pensil The official Dart client for Pensil communities, a service for building communites applications. This library can

Pensil Inc 6 Oct 6, 2022
P2P payment solution using Stream's Flutter SDK and Rapyd's Wallet API

Peer-to-peer payment integration to a messaging app using Flutter ?? This project shows how to integrate a peer-to-peer payment solution to your Strea

Souvik Biswas 15 Dec 8, 2022
Real-world movie database mobile application with the Flutter SDK and DDD clean architecture.

Moving Pictures Moving Pictures is a mobile application built with the Flutter SDK for Android and iOS. It’s an application that gets the information

Nifemi 57 Jan 7, 2023
Task List application developed in Dart language with SDK Flutter for Android, iOS and Web

Task List application developed in Dart language with SDK (Software Development Kit) Flutter for Android, iOS and Web.

João Bruno 2 Jun 2, 2022
The Dart SDK, including the VM, dart2js, core libraries, and more.

Dart A client-optimized language for fast apps on any platform Dart is: Optimized for UI: Develop with a programming language specialized around the n

Dart 8.7k Jan 2, 2023