Blame view

js/client/Readme_en_us.md 9.58 KB
cd08b2bf   esau   versão em ingles
1
2
  ## Usage
  
039cc133   Aline Freitas   Atualização
3
  ### configuration
c328c574   Aline Freitas   Atualização
4
  To use the funifier in production, insert the following line in tag head of all the pages you want to enable:
cd08b2bf   esau   versão em ingles
5
6
7
8
9
10
11
  
  
  ```html
   <script src="//client2.funifier.com/2.0.0/funifier.min.js" type="text/javascript"></script>
  ```
  
  
c328c574   Aline Freitas   Atualização
12
13
  ### Initiation Async mode
  To start the funifier of asynchronous way, insert a function before the script funifier:
cd08b2bf   esau   versão em ingles
14
15
16
17
18
19
20
21
22
  
  ```javascript
  window.funifierAsyncInit = function(){
      Funifier.init({
          apiKey : 'SUA API KEY'
      });
  };
  ```
  
c328c574   Aline Freitas   Atualização
23
  Thus, once the funifier has been processed , it will call the function 'funifierAsyncInit' if any.
cd08b2bf   esau   versão em ingles
24
  
c328c574   Aline Freitas   Atualização
25
  ### Initiation Sync mode
cd08b2bf   esau   versão em ingles
26
  
c328c574   Aline Freitas   Atualização
27
  You can also boot the funifier at any time after loading the funifier script calling its start method:
cd08b2bf   esau   versão em ingles
28
29
30
31
32
33
  ```javascript
      Funifier.init({
          apiKey : 'SUA API KEY'
      });
  ```
  
039cc133   Aline Freitas   Atualização
34
  ## Documentation
cd08b2bf   esau   versão em ingles
35
  
039cc133   Aline Freitas   Atualização
36
  ### Components
c328c574   Aline Freitas   Atualização
37
  The funifier has some integrated libraries, which can be used in your widgets / integrations note however, that they have the prefix '_' are using the core Funifier and therefore has no guarantee of being present in a future release.
cd08b2bf   esau   versão em ingles
38
  
c328c574   Aline Freitas   Atualização
39
  Funifier contain the following components:
cd08b2bf   esau   versão em ingles
40
41
42
43
44
45
46
47
48
49
  
  - [jquery](https://jquery.com/): `Funifier._$` 1.11.1
  - [async](https://github.com/caolan/async): `Funifier._async`
  - [lodash](https://lodash.com/): `Funifier._`
  - [validator](https://github.com/chriso/validator.js): `Funifier._validator`
  - [mustache](https://github.com/janl/mustache.js/): `Funifier._mustache`
  - [headjs](http://headjs.com/): `Funifier.headjs`
  - [magnificPopup](http://dimsemenov.com/plugins/magnific-popup/): `Funifier._$.magnificPopup`
  - [qs](https://github.com/hapijs/qs): `Funifier._qs`
  
c328c574   Aline Freitas   Atualização
50
  For documentation of the above components , check the website of the respective component.
cd08b2bf   esau   versão em ingles
51
  
c328c574   Aline Freitas   Atualização
52
  ### methods
cd08b2bf   esau   versão em ingles
53
54
55
56
57
58
59
60
61
62
63
64
65
66
  * [`init`](#init)
  * [`listen`](#listen)
  * [`unlisten`](#unlisten)
  * [`api`](#api)
  * [`track`](#track)
  * [`auth`](#auth)
      * [`authenticate`](#authenticate)
      * [`isAuthenticate`](#isAuthenticate)
      * [`logout`](#logout)
  
  
  ---------------------------------------
  ### init(config, callback)
  
c328c574   Aline Freitas   Atualização
67
68
  Used to start the api funifier.
  Receives as a parameter an object and a callback.
cd08b2bf   esau   versão em ingles
69
70
  
  __config__
c328c574   Aline Freitas   Atualização
71
72
73
74
75
  * `apiKey` : String - Apikey configured in studio.
  * `hideInline` : Boolean - Sets the inline mode display for admin. __default__ : false
  * `showNotification`: Boolean - Show / hide notifications. __default__ : true
  * `disableCustomCss` : Boolean - Sets the wrath funifier load the css widgets. __default__ : custom-{api_key}-v{version}.css.
  * `disableCustomJs`: Boolean - Sets the wrath funifier load the js with widgets functions. __default__ : custom-{api_key}-v{version}.js.
cd08b2bf   esau   versão em ingles
76
77
78
79
  * `url`
      * `service` : String  - Url do service. __default__ : '//service2.funifier.com/2.0.0/'
      * `client` : String  - Url do client. __default__ : '//client2.funifier.com/2.0.0'
      * `studio` : String  - Url do studio. __default__ : '//studio2.funifier.com'
c328c574   Aline Freitas   Atualização
80
81
      * `css` : String  - Css path to override the default. __default__ : null
      * `js` : String  - Js the way to override the default. __default__ : null
cd08b2bf   esau   versão em ingles
82
83
84
  
  __callback__
  
c328c574   Aline Freitas   Atualização
85
  Receives a function that is performed once the funifier finished initializing objects for informed apiKey , with which already loaded all the dependencies , scripts and styles.
cd08b2bf   esau   versão em ingles
86
  
c328c574   Aline Freitas   Atualização
87
88
  Parameters:
  * `err` You receive an error if you have one
cd08b2bf   esau   versão em ingles
89
  
c328c574   Aline Freitas   Atualização
90
  __Example__
cd08b2bf   esau   versão em ingles
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
  
  ```js
  Funifier.init({
      apiKey : 'SUA API KEY',
      hideInline: false,
      url : {
          css : 'http://www.meudominio.com/custom-css-replace.css'
      }
  },function(err){
      if(err){
          console.log('Ocorreu um erro');
      }
  });
  ```
  
  ---------------------------------------
  ### listen(name, callback)
c328c574   Aline Freitas   Atualização
108
109
110
  Monitors a funifier event
  * `name` : String - Event name to be monitored
  * `callback` : Function - Function to be performed.
cd08b2bf   esau   versão em ingles
111
112
113
  
  ---------------------------------------
  ### unlisten(name)
c328c574   Aline Freitas   Atualização
114
115
  To remove funifier events monitored by the listen.
  * `name` : String - Event name to exclude the listen.
cd08b2bf   esau   versão em ingles
116
117
118
  * 
  ---------------------------------------
  ### api(endpoint,params,callback)
c328c574   Aline Freitas   Atualização
119
  Method for communication with the Servicen.
cd08b2bf   esau   versão em ingles
120
  
c328c574   Aline Freitas   Atualização
121
122
123
  * `endpoint` : String - Method to be required in service.
  * `params` : Object - Parameters to be sent to the service.
  * `callback` : Function - return
cd08b2bf   esau   versão em ingles
124
  
c328c574   Aline Freitas   Atualização
125
  __Examples__
cd08b2bf   esau   versão em ingles
126
127
128
129
130
131
  
  ```js
  Funifier.api('get_leaderboard',
      {sort: 1, limit: 10, view: 0, group : 1},
      function(err,data){
          if(err==null){
c328c574   Aline Freitas   Atualização
132
              alert('Received leaderboards list')
cd08b2bf   esau   versão em ingles
133
134
              console.log(data);
          }else{
c328c574   Aline Freitas   Atualização
135
              alert('an error occurred :(')
cd08b2bf   esau   versão em ingles
136
137
138
139
140
141
142
143
144
145
          }
      }
  );
  ```
  
  ```js
  Funifier.api('get_widget_data',
      null,
      function(err,data){
          if(err==null){
c328c574   Aline Freitas   Atualização
146
147
              alert('received return')
              console.log(date);
cd08b2bf   esau   versão em ingles
148
          }else{
c328c574   Aline Freitas   Atualização
149
              alert('an error occurred :(')
cd08b2bf   esau   versão em ingles
150
151
152
153
154
155
156
          }
      }
  );
  ```
  
  ---------------------------------------
  ### api(endpoint,params,options,callback)
c328c574   Aline Freitas   Atualização
157
  Method for communication with the service.
cd08b2bf   esau   versão em ingles
158
  
c328c574   Aline Freitas   Atualização
159
160
161
162
  * `endpoint` : String - Method to be required in service.
  * `params` : Object - Parameters to be sent to the service.
  * `options` : Object - additional parameters.
  * `callback` : Function - return
cd08b2bf   esau   versão em ingles
163
  
c328c574   Aline Freitas   Atualização
164
  __Examples__
cd08b2bf   esau   versão em ingles
165
166
167
168
169
170
171
  
  ```js
  Funifier.api('get_leaderboard',
      {sort: 1, limit: 10, view: 0, group : 1},
      {type:'GET',contentType:'application/json'},
      function(err,data){
          if(err==null){
c328c574   Aline Freitas   Atualização
172
173
              alert('Received leaderboards list')
              console.log(date);
cd08b2bf   esau   versão em ingles
174
          }else{
c328c574   Aline Freitas   Atualização
175
              alert('an error occurred :(')
cd08b2bf   esau   versão em ingles
176
177
178
179
180
181
182
183
          }
      }
  );
  ```
  
  
  ---------------------------------------
  ### track(options,callback)
c328c574   Aline Freitas   Atualização
184
  Trachea action
cd08b2bf   esau   versão em ingles
185
186
187
  
  __options__
  * `action` : String - Id ou nome da action.
c328c574   Aline Freitas   Atualização
188
  * `attributes` : Array - list of attributes , optional.
cd08b2bf   esau   versão em ingles
189
190
191
  
  __callback__
  
c328c574   Aline Freitas   Atualização
192
193
194
  Function performed after the track.
  * `err` - You receive a zero or.
  * `data` - Server Response.
cd08b2bf   esau   versão em ingles
195
  
c328c574   Aline Freitas   Atualização
196
  __Example__
cd08b2bf   esau   versão em ingles
197
198
199
200
201
202
203
204
205
206
207
208
  
  ```js
  Funifier.track({
      action: 'visitarPagina'
  },function(err,data){
      if(err==null){
          alert('Action traqueada')
      }
  });
  ```
  
  ---------------------------------------
039cc133   Aline Freitas   Atualização
209
210
  ## auth
  ### authenticate(options,callback)
c328c574   Aline Freitas   Atualização
211
  Function used to authenticate players.
cd08b2bf   esau   versão em ingles
212
213
  
  __options__
c328c574   Aline Freitas   Atualização
214
  * `auth_mode` : String - Authentication type , available values.
cd08b2bf   esau   versão em ingles
215
216
217
218
      *   facebook
      *   google
      *   IMPLICIT
      *   PASSWORD
c328c574   Aline Freitas   Atualização
219
220
221
  * `player` : String - Player ID, ​​required to auth_mode ' IMPLICIT ' and ' PASSWORD'. (String)
  * `password` : String - Password Player , required to auth_mode 'PASSWORD' 
  * `modal` : Boolean - Sets the authentication via google or facebook will be made through a popup, (optional used only for auth_mode ' google' and ' facebook')
cd08b2bf   esau   versão em ingles
222
223
224
  
  __callback__
  
c328c574   Aline Freitas   Atualização
225
226
227
  Function to return. (It is not performed if the auth_mode for facebook or google and modal equals false )
  * `err` - You receive a zero or.
  * `data` - Server Response:
cd08b2bf   esau   versão em ingles
228
      
c328c574   Aline Freitas   Atualização
229
  __Example Facebook__
cd08b2bf   esau   versão em ingles
230
231
232
233
234
235
236
  
  ```js
  Funifier.auth.authenticate({
      auth_mode: 'facebook',
      modal: true
  },function(err,data){
      if(err==null){
c328c574   Aline Freitas   Atualização
237
          alert('Welcome')
cd08b2bf   esau   versão em ingles
238
239
240
241
      }
  });
  ```
  
c328c574   Aline Freitas   Atualização
242
  __Example via Password__
cd08b2bf   esau   versão em ingles
243
244
245
246
  
  ```js
  Funifier.auth.authenticate({
      auth_mode: 'PASSWORD',
77ca0290   Jefferson   Correção da funçã...
247
      player: 'jogador1',
cd08b2bf   esau   versão em ingles
248
249
250
      password: 'pass@123'
  },function(err,data){
      if(err==null){
c328c574   Aline Freitas   Atualização
251
          alert('Welcome')
cd08b2bf   esau   versão em ingles
252
253
254
255
      }
  });
  ```
  
039cc133   Aline Freitas   Atualização
256
  ### isAuthenticate(callback)
cd08b2bf   esau   versão em ingles
257
  
c328c574   Aline Freitas   Atualização
258
  Checks if the player is authenticated.
cd08b2bf   esau   versão em ingles
259
260
261
262
  
  __callback__
    * `isAuthenticate` :Bollean  
    
c328c574   Aline Freitas   Atualização
263
  __Example__
cd08b2bf   esau   versão em ingles
264
265
266
267
  
  ```js
  Funifier.auth.isAuthenticate(function(_isAuthenticate){
      if(isAuthenticate){
c328c574   Aline Freitas   Atualização
268
          alert('Welcome , you are logged');
cd08b2bf   esau   versão em ingles
269
      }else{
c328c574   Aline Freitas   Atualização
270
          alert('Sorry , log , you're not logged in');
cd08b2bf   esau   versão em ingles
271
272
273
274
      }
  });
  ```
  
039cc133   Aline Freitas   Atualização
275
  ### logout(callback)
cd08b2bf   esau   versão em ingles
276
  
c328c574   Aline Freitas   Atualização
277
  Log out Player.
cd08b2bf   esau   versão em ingles
278
279
280
281
282
  
  __callback__
    * `err`
    * `data`
  
c328c574   Aline Freitas   Atualização
283
  __Example__
cd08b2bf   esau   versão em ingles
284
285
286
287
  
  ```js
  Funifier.auth.logout(function(err){
      if(err==null){
c328c574   Aline Freitas   Atualização
288
          alert('Successfully offline player');
cd08b2bf   esau   versão em ingles
289
      }else{
c328c574   Aline Freitas   Atualização
290
          alert('an error occurred');
cd08b2bf   esau   versão em ingles
291
292
293
294
295
296
297
298
      }
  });
  ```
    
    
  
  ## Widget
  
c328c574   Aline Freitas   Atualização
299
  The basic structure of a widget:
cd08b2bf   esau   versão em ingles
300
301
302
303
304
  ```javascript
  var ct = '<div><a href="#">Hello World!</a></div>'
  render(ct,function(config){
   var elemento = config.element;
   elemento.find('a').click(function(){
c328c574   Aline Freitas   Atualização
305
      alert('You clicked the link');
cd08b2bf   esau   versão em ingles
306
307
308
309
   });
  });
  ```
  
c328c574   Aline Freitas   Atualização
310
  The render method takes a string or a jquery object and a feedback method which can include events.
cd08b2bf   esau   versão em ingles
311
  
c328c574   Aline Freitas   Atualização
312
313
  Within the script you have access to variable 'json' ,'theme_html', '$' e 'jQuery'.
  The jquery available on the widget is a jquery Funifier object if you want to access the jquery page , use window . $ Or window.jQuery.
cd08b2bf   esau   versão em ingles
314
  
c328c574   Aline Freitas   Atualização
315
  The json variable is available in some types of widgets.
cd08b2bf   esau   versão em ingles
316
317
  
  
c328c574   Aline Freitas   Atualização
318
  You can use the mustache to render your html.
cd08b2bf   esau   versão em ingles
319
320
321
322
323
324
325
326
327
328
329
  
  ```javascript
  Funifier.auth.isAuthenticate(function(isAuthenticate) {
      json.isAuthenticate = isAuthenticate;
      var str = Mustache.render(theme_html,json);
      render(str,function(config){
          var el = config.element;
          //your code
      });
  });
  ```
c328c574   Aline Freitas   Atualização
330
  You can request a resource on the server before rendering.
cd08b2bf   esau   versão em ingles
331
332
333
  
  ```javascript
  Funifier.auth.isAuthenticate(function(isAuthenticate) {
eb6eea28   Esaú Freitas   add more paramete...
334
335
336
337
338
339
340
341
342
343
344
345
      Funifier.api('get_widget_data', 
          {
              include_teams: false,
              include_levels: false,
              include_challenges: true,
              include_catalogs: false,
              include_leaderboards: true,
              include_friends: true,
              include_actions: true,
              include_points: true,
              include_game: true
          }, function(err,json){
cd08b2bf   esau   versão em ingles
346
347
348
349
350
351
352
353
354
355
356
357
          json.isAuthenticate = isAuthenticate;
          var str = Mustache.render(theme_html,json);
          render(str,function(config){
              var el = config.element;
              //your code
          });
      });
  });
  ```
  
  ## Debug
  
c328c574   Aline Freitas   Atualização
358
359
  By default Funifier Client does not display any error information / info on the island is necessary to enable.
  To enable all funifier messages , open the console and type javascript:
cd08b2bf   esau   versão em ingles
360
361
362
363
364
  
  ```javascript
   Funifier.debug.enable('*');
  ```
  
c328c574   Aline Freitas   Atualização
365
  You can enable logging for specific messages:
cd08b2bf   esau   versão em ingles
366
367
368
369
370
371
  ```javascript
   Funifier.debug.enable('Funifier:social:*');
  ```
  ```javascript
   Funifier.debug.enable('Funifier:core:*');
  ```
c328c574   Aline Freitas   Atualização
372
  If you want to disable messages:
cd08b2bf   esau   versão em ingles
373
374
375
  ```javascript
  Funifier.debug.disable();
  ```