2017 © Pedro Peláez
 

library branchio

Branch Metrics (Branch.io) HTTP API client

image

iivannov/branchio

Branch Metrics (Branch.io) HTTP API client

  • Thursday, November 23, 2017
  • by iivannov
  • Repository
  • 1 Watchers
  • 4 Stars
  • 4,610 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 5 Versions
  • 34 % Grown

The README.md

Branch Metrics (Branch.io) HTTP API Client

This is just a simple HTTP client for the Branch Metrics API (Branch.io). At the moment it supports creating, updating and configuring Branch links. A future version will include retrieving data from existing links., (*1)

Codacy Maintainability Packagist License Version , (*2)


Table of Contents, (*3)

Important Notice

The latest versions after 1.1.x are not backwards compatible with the old versions 1.0.x., (*4)

Be careful when updating! If you want to upgrade to versions 1.1.x, please first follow the documentation to make the needed changes in your code, (*5)

Installation

The package can be installed with Composer. Just run this command:, (*6)

``` bash $ composer require iivannov/branchio, (*7)




## Basic usage ### Get link data ``` php $client = new \Iivannov\Branchio\Client(KEY, SECRET); $link = $client->getLink($url);

$link = new \Iivannov\Branchio\Link(); $link->setChannel('foo') ->setAlias('foobar123') ->setData([ '$always_deeplink' => 'true', '$deeplink_path' => 'go-to-user-123' 'user_id' => 123 ]); $client = new \Iivannov\Branchio\Client(KEY, SECRET); $client->createLink($link);

Advanced Usage

Link instance contains all the configurable options for a Branch Metrics link and provides method to set them., (*8)

$link = new \Iivannov\Branchio\Link();

// Set parameters separately
$link->setChannel('Channel name');
$link->setAlias('foobar123);
$link->setTags(['foo', 'bar']);


// It's possible to chain the set methods
$link->setChannel('Channel name')
    ->setAlias('foobar123')
    ->setTags(['foo', 'bar']);

Analytical Data

For full reference about the analytical options available please see: https://docs.branch.io/pages/links/integrate/#analytical-labels, (*9)

Key Usage
channel Use channel to tag the route that your link reaches users. For example, tag links with 'Facebook' or 'LinkedIn' to help track clicks and installs through those paths separately
feature This is the feature of your app that the link might be associated with. For example, if you had built a referral program, you would label links with the feature 'referral'
campaign Use this field to organize the links by actual campaign. For example, if you launched a new feature or product and want to run a campaign around that
stage Use this to categorize the progress or category of a user when the link was generated. For example, if you had an invite system accessible on level 1, level 3 and 5, you could differentiate links generated at each level with this parameter
tags This is a free form entry with unlimited values ['string']. Use it to organize your link data with labels that don't fit within the bounds of the above
alias Specify a link alias to replace of the standard encoded short URL. Link aliases must be unique (a 409 error will occur if you create an alias already taken). Appending a / will break the alias. bnc.lt link domain alias links are incompatible with Universal Links and Spotlight.
type Must be an int. Set to 1 to limit deep link to a single use. Set to 2 to make the link show up under Quick Links while adding $marketing_title to data. Does not work with the Native SDKs
$link->setChannel('Channel name');

$link->setFeature('Feature name');

$link->setCampaign('Campaign name');

$link->setStage('Stage name');

$link->setTags(['foo', 'bar']);

$link->setAlias('foobar123);

$link->setType(UrlType::ONCE);    

You can easily set the deep linking behaviour by passing the type parameter. You have the following options:, (*10)

UrlType::DEFAULT_TYPE - default value,, (*11)

UrlType::ONCE - to limit deep linking behavior of the generated link to a single use,, (*12)

UrlType::MARKETING_TYPE - to make the link show up under Marketing page in the dashboard, (*13)

$link->setType(UrlType::MARKETING);

Configure custom data

For full description of possible $data options, please see: https://docs.branch.io/pages/links/integrate/#redirections, (*14)

$data = [
     '$always_deeplink' => true,
     '$deeplink_path' => 'open?action_id=1234',

     '$ios_url' => 'http://MyAppURL.com/ios',
     '$ipad_url' => 'http://MyAppURL.com/ipad',
     '$android_url' => 'http://MyAppURL.com/android',

     '$og_app_id' => '1234',
     '$og_title' => 'My App',
     '$og_description' => 'My app\'s description.',
     '$og_image_url' => 'http://MyAppURL.com/image.png',

     'mydata' => 'something',
     'foo' => 'bar',
];

$link->setData($data);

To create the configured link, just call the createLink method and pass the Link' instance, (*15)

``` php $client = new \Iivannov\Branchio\Client(KEY, SECRET); $client->createLink($link);, (*16)



### Update link To update an already existing link you need to pass the url of the link and the updated `Link` instance to the `updateLink` method

$client = new \Iivannov\Branchio\Client(KEY, SECRET); $link = $client->getLink($url); $link->setChannel('bar'); $client->updateLink($url, $link);, (*17)



## Usage with Laravel If you are using Laravel, the package contains a Service Provider and a Facade for you. 1. First you need to add the ServiceProvider and Facade classes in your `config\app.php`

'providers' => [ ... Iivannov\Branchio\Integration\Laravel\BranchioServiceProvider::class, ];, (*18)

'aliases' => [ ... 'Branchio' => Iivannov\Branchio\Integration\Laravel\Facade\Branchio::class ];, (*19)


2. Then you need to add your username and password in `config\services.php`

'branchio' => [ 'key' => YOUR_BRANCHIO_KEY, 'secret' => YOUR_BRANCHIO_SECRET ], (*20)


3. You are ready to go, just use the facade:

Branchio::getLink($url) Branchio::createLink($link') Branchio::updateLink($url, $link) ```, (*21)

License

The MIT License (MIT). Please see License File for more information., (*22)

The Versions

23/11 2017

dev-master

9999999-dev

Branch Metrics (Branch.io) HTTP API client

  Sources   Download

MIT

The Requires

 

The Development Requires

by Ivan Ivanov

php http client branch branch.io branchio http api branch io branch metrics

23/11 2017

1.1.0

1.1.0.0

Branch Metrics (Branch.io) HTTP API client

  Sources   Download

MIT

The Requires

 

The Development Requires

by Ivan Ivanov

php http client branch branch.io branchio http api branch io branch metrics

28/09 2017

1.0.2

1.0.2.0

Branch.IO HTTP API client

  Sources   Download

MIT

The Requires

 

by Ivan Ivanov

php client branch branch.io branchio http api branch io

31/05 2017

1.0.1

1.0.1.0

Branch.IO HTTP API client

  Sources   Download

MIT

The Requires

 

by Ivan Ivanov

php client branch branch.io branchio http api branch io

11/04 2017

1.0.0

1.0.0.0

Branch.IO HTTP API client

  Sources   Download

MIT

The Requires

 

by Ivan Ivanov

php client branch branch.io branchio http api branch io