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')
  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.2'
  2. Build the release:

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

    twine upload dist/litresapi-1.0.1.tar.gz

Changelog

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.3.tar.gz (9.2 kB view hashes)

Uploaded Source

Supported by

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