Skip to main content

API for integration with Yandex AppMetrica

Project description

Application for integrating with Yandex AppMetrica https://appmetrica.yandex.ru/

Yandex Docs https://tech.yandex.ru/appmetrica/doc/mobile-api/push/use-cases-docpage/

https://travis-ci.org/MyBook/appmetrica.svg?branch=master https://codecov.io/gh/MyBook/appmetrica/branch/master/graph/badge.svg

Before using API it is necessary:

  1. Get application id from your account in appmetrica.yandex.ru

  2. [Generate access token](https://tech.yandex.ru/appmetrica/doc/mobile-api/intro/authorization-docpage/)

Send push

  1. Create API instance:

    from appmetrica.push.api import PushAPI
    
    api = PushAPI(application_id, access_token)
  2. Create group to combine the sending in the report:

    group_id = api.create_group('test-push-1', send_rate=500)
  3. Pass group_id, device list and message to send_push method and call:

    from appmetrica.push.api import TokenTypes
    
    transfer_id = api.send_push(group_id, devices=devices, ios_message=ios_message,
                                android_message=android_message, tag='harry potter')
    
    devices - list of token objects like:
        [
            {
                "id_type": TokenTypes.APPMETRICA_DEVICE_ID,
                "id_values": ["123456789", "42"]
            },
            {
                "id_type": TokenTypes.IOS_IFA,
                "id_values": ["8A690667-6204-4A6A-9B38-85DE016....."]
            },
            {
                "id_type": TokenTypes.ANDROID_PUSH_TOKEN,
                "id_values": ["eFfxdO7uCMw:APA91bF1tN3X3BAbiJXsQhk-..."]
            }
        ]
    
    ios_message - push message for ios devices
    android_message - push message for android devices:
        {
            "silent": false,
            "content": {
                "title": "string",
                "text": "string",
                "sound": "disable",
                "data": "string"
            }
        }
  4. To check status of push call check_status method:

    status = api.check_status(transfer_id)

List of available groups

  1. Create API instance:

    from appmetrica.push.api import PushAPI
    
    api = PushAPI(application_id, access_token)
  2. Get list of groups

    group_id = api.get_groups()

Export tokens

  1. Create API instance:

    from appmetrica.export.api import ExportAPI
    
    api = ExportAPI(application_id, access_token)
  2. Call push_tokens method with necessary fields:

    data = api.export_push_tokens('token', 'ios_ifa', 'google_aid')

Export devices

  1. Create API instance:

    from appmetrica.export.api import ExportAPI
    
    api = ExportAPI(application_id, access_token)
  2. Call push_tokens method with necessary fields:

    date_till = datetime.now()
    date_from = date_till - timedelta(days=7)
    
    data = api.export_installations('ios_ifv', date_from=date_from, date_till=date_till)

Publish a release on PyPi

Install twine globally:

pip install twine
  1. Don’t forget to bump the package version:

    __version__ = '1.0.5'
  2. Build the release:

    python setup.py sdist bdist_wheel
  3. Publish the release on PyPi:

    twine upload dist/*

Changelog

1.0.6 (2020-11-11)

  • Add send rate when create appmetrica group

1.0.5 (2020-10-01)

  • Add retry for appmetrica request and declare python 3.8 support

1.0.4 (2020-06-26)

  • Allow to send raw data

1.0.3 (2019-08-04)

  • Declare python 3.7 support

1.0.2 (2019-01-09)

  • Increased request timeout to 30 seconds

1.0.1 (2018-12-17)

  • Replace deprecated send method to send-batch

1.0.0 (2017-12-14)

  • Initial release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

appmetrica-1.0.6.tar.gz (10.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

appmetrica-1.0.6-py2.py3-none-any.whl (9.4 kB view details)

Uploaded Python 2Python 3

File details

Details for the file appmetrica-1.0.6.tar.gz.

File metadata

  • Download URL: appmetrica-1.0.6.tar.gz
  • Upload date:
  • Size: 10.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.9.0

File hashes

Hashes for appmetrica-1.0.6.tar.gz
Algorithm Hash digest
SHA256 a4cbc58d99e8989d1f255eda84cdc0781d4633531938ecbfec6b1c10ec55ea95
MD5 c00253c9126b5cc1d64019440008b3ac
BLAKE2b-256 954b284286c8396f68688f1d88e1922bff766fb3f1e12522719f96418f0ccefe

See more details on using hashes here.

File details

Details for the file appmetrica-1.0.6-py2.py3-none-any.whl.

File metadata

  • Download URL: appmetrica-1.0.6-py2.py3-none-any.whl
  • Upload date:
  • Size: 9.4 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.9.0

File hashes

Hashes for appmetrica-1.0.6-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 efc480a189e5cfda49fe7792812373e1f407afa48b03c8459eb67c56f25c3d45
MD5 ebb8b68458eb891aa2c397ac5e606157
BLAKE2b-256 d0236b632e34e2e2fc227efdf5a91ef17054c55a4c94d467815806b6003e1917

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page