This plugin enables you to manage mobile applications.
- You can add your iOS, Android and other store app listing into the backend.
- You can monitor individual app installs by adding some code on the client-side (see video or documentation).
- You can put your mobile app into maintenance mode so that it blocks in front-end for your users with a custom message like “Server down till midnight".
Tutorial and demonstration of the plugin:
[Note: Right now the Android plugin is under development so I have disabled the reserved plugin feature, you can manually create Android using Platforms settings directly]
Features
- Add multiple variants and platforms.
- Dashboard widget to provide app install analytics.
- Maintenance mode feature to block variants undergoing maintenance.
Coming Soon
- Custom fields and track those values.
I have plans to update this plugin much further to add useful features but these are not guaranteed to be added unlike the above "Coming Soon" section. I am writing down these under Optionals section below. Pricing of plugin may be increased as optionals are added so I want the early adopters of this to enjoy the benefits as more and more features get added. I may also make separate plugins from the optionals if needed. And if you have any suggestions or feature requests that you think should be in this plugin, go ahead and message me. I would love to hear your ideas.
Optionals
- Instance blocking to block a user of an app.
- Events list to allow frontends to send custom events such as “App Started”, “App Closed”, etc. with API + analytics features for events.
Requirements
- RESTful plugin
The following plugin is required
Client-side Integration
Once you have created the plugin entry in the backend, you can do the client side integration. On the mobile app, you will have to make a call to the backend using the REST API that has been provided. See the API Specifications section to find out more about this.
Events
The following Events have been provided to provide extensibility of the plugin.
mohsin.mobile.beforeSave
uses 2 parameters instance_id and package.
mohsin.mobile.afterSave
uses 1 parameter install.
You can listen to these events and extend the plugin’s features. Make sure that the return value of the event is of the type JsonResponse. To handle an error in your extended plugin simply return the 400 status code in teh JsonResponse and the action’s logic will throw an error to the client.
For example, consider that you are making a plugin that writes it’s own logic to create instance IDs. In this case, you can use this in your plugin boot method:
Event::listen('mohsin.mobile.beforeSave', function($instance_id, $package) { if(check_valid_instanceId($instance_id)) return response()->json(‘true’, 200); else return response()->json('Invalid Instance ID', 400); });
API Specifications
POST /installs
Resource URL: /api/v1/installs
Parameters
instance_id | A unique ID, such as device ID or an ID generated using Google’s Instance ID API. Eg. 573b61d82b4e46e3 |
package | The package name of the application. Must match the name specified in the variants. Eg. com.acme.myapp |
Troubleshooting
- If you get an error in Installs controller stating that
Undefined offset
, it means you had selected some variant and then deleted that variant. Simply remove the browser cookies and it should be fine. Alternatively, you could wait 2 hours for the cookie to expire and it will be restored back to the default value 1. - If you face any other error or found a bug, do not hesitate to get in touch with me. I will help resolve it.
-
Larry Barker
Found the plugin not useful on 23 May, 2018
I tried multiple times to get this plugin going in both native and web-based applications and had little luck. The timestamps do not get touched on subsequent installs/loads.
I tried to pair this with the Mobile User plugin from the same author and had difficulty getting it set up. I eventually got the login working but it was cumbersome and error-prone.
Also tried communicating with the author many times for advice and or suggestions to improve the plugins and never received a response.
-
Saifur Rahman Mohsin author
Replied on 24 May, 2018
Hi
I'm sorry to hear that you were unable to get the mobile plugin working. I have written clear-cut instructions in the plugin documentation to get it working and my other users haven't faced issues when they followed it. The issue you mentioned viz. instance_id requires a form-data post field as mentioned in the plugin documentation.
As per my records, I have responded to you and it's not like you didn't receive a response. I had requested you to get back to me in a week since my hands are tied but you didn't. The plugin was built for an older instance of OctoberCMS and it worked perfectly on that. If there are any bugs at all, it would be due to updates on the platform. I would have appreciated if you had dropped another message before writing a negative review--which doesn't solve anything for me nor does it paint the truth--I have always responded to my users and ensured they are satisfied with the work. I'll take a look at the issues you mentioned and solve it this week. Have a nice day.
-
1.0.8 |
Removed Platforms Controller Sep 12, 2019 |
---|---|
1.0.7 |
Optimized Installs list using Dropdown widget. Jan 23, 2017 |
1.0.6 |
Added plugin test cases Nov 28, 2016 |
1.0.5 |
Added better validation rules Nov 16, 2016 |
1.0.4 |
Apps can now enable maintenance mode. Oct 19, 2016 |
1.0.3 |
Added app installs overview widget Oct 16, 2016 |
1.0.2 |
Create Apps Table Sep 27, 2016 |
1.0.1 |
First version of Mobile Sep 27, 2016 |