Merge pull request #2148 from owncloud/ent-client
Move branded mobile apps to their own separate manual
@@ -0,0 +1,4 @@
|
||||
========================================================
|
||||
Building a Branded Desktop Sync Client (Enterprise Only)
|
||||
========================================================
|
||||
|
||||
@@ -9,141 +9,33 @@ ownBrander is an ownCloud build service that is exclusive to Enterprise
|
||||
customers for creating branded Android and iOS ownCloud sync apps, and branded
|
||||
ownCloud desktop sync clients. You build your apps with the
|
||||
ownBrander app on your `Customer.owncloud.com
|
||||
<https://customer.owncloud.com/owncloud/>`_ accounts, and within 24-48 hours
|
||||
they are loaded into your account.
|
||||
<https://customer.owncloud.com/owncloud/>`_ account, and within 24-48 hours
|
||||
the completed, customized apps are loaded into your account. You must supply
|
||||
your own artwork, and you'll find all the specifications and required elements
|
||||
in ownBrander.
|
||||
|
||||
.. image:: ../images/ownbrander-1.png
|
||||
|
||||
Building a Branded iOS App
|
||||
--------------------------
|
||||
Building a Branded Desktop Sync Client
|
||||
--------------------------------------
|
||||
|
||||
Building a branded iOS app requires your own artwork, and you must create a
|
||||
P12 certificate and four provisioning profiles for digitally signing your
|
||||
apps. Apple has strict and specific requirements, so it is a lengthy
|
||||
process. See :doc:`../enterprise_ios_app/index` for a complete tutorial.
|
||||
|
||||
Run Branded and Un-branded Desktop Sync Clients
|
||||
-----------------------------------------------
|
||||
See :doc:`building_branded_desktop_client` for instructions on building your own
|
||||
branded desktop sync client.
|
||||
|
||||
Your users may run both a branded and un-branded desktop sync client
|
||||
side-by-side. Both clients run independently of each other, and do not share
|
||||
account information or files.
|
||||
|
||||
Building an Android App or Desktop Sync Client
|
||||
----------------------------------------------
|
||||
Building a Branded iOS App
|
||||
--------------------------
|
||||
|
||||
Building and distributing your branded iOS ownCloud app involves a large number
|
||||
of interdependent steps. The process is detailed in the "Building a Branded iOS
|
||||
App Manual" Follow these instructions exactly and in order, and you will have a
|
||||
nice branded iOS app that you can distribute to your users.
|
||||
|
||||
Building an Android App
|
||||
-----------------------
|
||||
|
||||
To build Android and Desktop sync apps you need to supply your own artwork,
|
||||
and the ownBrander wizard details the required specifications.
|
||||
See :doc:`` for instructions on building your own branded Android app.
|
||||
|
||||
.. image:: ../images/ownbrander-2.png
|
||||
|
||||
When you have completed the wizard, you will either get messages warning you
|
||||
of any items that need to be corrected, or a success message:
|
||||
|
||||
.. image:: ../images/ownbrander-3.png
|
||||
|
||||
When your new app is built, which may take up to 48 hours, it will
|
||||
appear in your personal folder on the Files page.
|
||||
|
||||
.. image:: ../images/ownbrander-4.png
|
||||
|
||||
Using the Wizard
|
||||
----------------
|
||||
|
||||
You can play around with ownBrander and create some apps for testing and
|
||||
learning. The Android and Desktop sync clients are the easiest to use for
|
||||
testing, so we'll walk through creating an Android app. You need a just a few
|
||||
images, and the wizard tells you their required dimensions. They must be the
|
||||
exact specified dimensions, preferably in PNG format.
|
||||
|
||||
First, start on the Common tab and enter your application name and the URL to
|
||||
your ownCloud server. For testing purposes these can be anything. These are
|
||||
your global defaults, and you can change them when you create your apps. When
|
||||
you create production apps, then you must use your real app name, and the URL
|
||||
must point to your real ownCloud server.
|
||||
|
||||
.. image:: ../images/ownbrander-5.png
|
||||
|
||||
Next, go to the Android tab. This has three sections: **Required**,
|
||||
**Suggested**, and **Advanced**. Start in the **Required** section with your
|
||||
application name and server URL, which should be already entered from the
|
||||
Common tab. You may change these, and optionally check **Server URL visible** to
|
||||
allow users to change it.
|
||||
|
||||
.. image:: ../images/ownbrander-29.png
|
||||
|
||||
Now enter your Android package name. This is the unique name that identifies it
|
||||
to Google Play. Then enter your account type; this identifies it on your users'
|
||||
Android devices.
|
||||
|
||||
.. image:: ../images/ownbrander-6.png
|
||||
|
||||
Your next three options are **Show multiaccount or disconnect**, **Enable send
|
||||
to other apps features**, and **Enable SAML**. When you enable **Show
|
||||
multiaccount or disconnect**, your users can configure multiple ownCloud
|
||||
accounts. When it is disabled they see only a disconnect button.
|
||||
|
||||
**Enable SAML** is for ownCloud servers that use SAML (Security Assertion Markup
|
||||
Language) authentication.
|
||||
|
||||
**Enable send to other apps features** allows your users to open ownCloud files
|
||||
with other Android apps, such as file managers and photo galleries.
|
||||
|
||||
Next, upload your images. The wizard tells you the exact size they must be, and
|
||||
you can click the images on the right to see some example screenshots.
|
||||
|
||||
.. image:: ../images/ownbrander-7.png
|
||||
|
||||
You may enter a custom user agent, if you wish, and display a new account link
|
||||
button to your users. You need this to enable multiaccounts.
|
||||
|
||||
.. image:: ../images/ownbrander-8.png
|
||||
|
||||
.. _sign_android_app:
|
||||
|
||||
Signing Android Client
|
||||
----------------------
|
||||
|
||||
The next option is **Sign Android Client**. You can upload your signing
|
||||
certificate in the wizard so that is signed during the build process, or you
|
||||
can optionally sign your app after we build it. See
|
||||
:doc:`publishing_android_app` to learn how to sign your app after it is built.
|
||||
|
||||
.. note:: Google Play Store requires that certificates have a validity period
|
||||
ending after October 22, 2033. See
|
||||
`<http://developer.android.com/intl/es/tools/publishing/app-signing.
|
||||
html#considerations>`_.
|
||||
|
||||
**Root folder name** displays the root folder name on your user's devices.
|
||||
|
||||
**Help url** is for entering a link to your help page for the app.
|
||||
|
||||
**Activate "Recommend" option** displays a "recommend this app" option via
|
||||
email.
|
||||
|
||||
Use **Activate the option feedback** to display an email address for user
|
||||
feedback.
|
||||
|
||||
**Imprint URL** is for the about page on your Web site, or any page that has
|
||||
information about your company.
|
||||
|
||||
Enter any custom download link in **URL to download the app**.
|
||||
|
||||
Finally, if you are creating a paid app then check the checkbox for **Paid
|
||||
Users** and upload an icon.
|
||||
|
||||
.. image:: ../images/ownbrander-11.png
|
||||
|
||||
The **Suggested** and **Advanced** sections allow you to further customize your
|
||||
branding with custom colors and images.
|
||||
|
||||
When you are finished click the **Generate Android App** button, and you will
|
||||
either see a success message, or an error message telling you what you need to
|
||||
fix. Note also that at the bottom of the wizard, the name and version of
|
||||
your new app is displayed, for example **The version that it will be generated
|
||||
is: oc-android-1.7.0_signed**. When all of your options are
|
||||
entered correctly and you click the Generate
|
||||
Android App button, it takes up to 48 hours for your app to appear in your
|
||||
`Customer.owncloud.com <https://customer.owncloud.com/owncloud/>`_ account.
|
||||
|
||||
.. image:: ../images/ownbrander-12.png
|
||||
|
||||
@@ -6,8 +6,9 @@ Creating Branded ownCloud Clients (ES only)
|
||||
:maxdepth: 3
|
||||
|
||||
creating_branded_apps
|
||||
custom_client_repos
|
||||
building_branded_desktop_client
|
||||
update_branded_desktop_clients
|
||||
publishing_android_app
|
||||
custom_client_repos
|
||||
|
||||
../enterprise_ios_app/index
|
||||
|
||||
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 15 KiB |
BIN
branded_mobile_clients/Create HTML.lnk
Normal file
BIN
branded_mobile_clients/Create PDF.lnk
Normal file
173
branded_mobile_clients/Makefile
Normal file
@@ -0,0 +1,173 @@
|
||||
# Makefile for Sphinx documentation
|
||||
#
|
||||
|
||||
# You can set these variables from the command line.
|
||||
SPHINXOPTS =
|
||||
SPHINXBUILD = sphinx-build
|
||||
PAPER =
|
||||
BUILDDIR = _build
|
||||
|
||||
# Internal variables.
|
||||
PAPEROPT_a4 = -D latex_paper_size=a4
|
||||
PAPEROPT_letter = -D latex_paper_size=letter
|
||||
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
|
||||
# the i18n builder cannot share the environment and doctrees with the others
|
||||
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
|
||||
|
||||
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
|
||||
|
||||
help:
|
||||
@echo "Please use \`make <target>' where <target> is one of"
|
||||
@echo " html to make standalone HTML files"
|
||||
@echo " dirhtml to make HTML files named index.html in directories"
|
||||
@echo " singlehtml to make a single large HTML file"
|
||||
@echo " pickle to make pickle files"
|
||||
@echo " json to make JSON files"
|
||||
@echo " htmlhelp to make HTML files and a HTML help project"
|
||||
@echo " qthelp to make HTML files and a qthelp project"
|
||||
@echo " devhelp to make HTML files and a Devhelp project"
|
||||
@echo " epub to make an epub"
|
||||
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
|
||||
@echo " latexpdf to make LaTeX files and run them through pdflatex"
|
||||
@echo " pdf to make PDF files"
|
||||
@echo " text to make text files"
|
||||
@echo " man to make manual pages"
|
||||
@echo " texinfo to make Texinfo files"
|
||||
@echo " info to make Texinfo files and run them through makeinfo"
|
||||
@echo " gettext to make PO message catalogs"
|
||||
@echo " changes to make an overview of all changed/added/deprecated items"
|
||||
@echo " linkcheck to check all external links for integrity"
|
||||
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
|
||||
|
||||
clean:
|
||||
-rm -rf $(BUILDDIR)/*
|
||||
|
||||
html: html-org
|
||||
|
||||
html-all: html-release html-org html-com
|
||||
|
||||
html-release:
|
||||
$(SPHINXBUILD) -b html -D html_theme='owncloud_release' $(ALLSPHINXOPTS) $(BUILDDIR)/html/release
|
||||
@echo
|
||||
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html/release."
|
||||
|
||||
html-org:
|
||||
$(SPHINXBUILD) -b html -D html_theme='owncloud_org' $(ALLSPHINXOPTS) $(BUILDDIR)/html/org
|
||||
@echo
|
||||
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html/org."
|
||||
|
||||
html-com:
|
||||
$(SPHINXBUILD) -b html -D html_theme='owncloud_com' $(ALLSPHINXOPTS) $(BUILDDIR)/html/com
|
||||
@echo
|
||||
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html/com."
|
||||
|
||||
dirhtml:
|
||||
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
|
||||
@echo
|
||||
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
|
||||
|
||||
singlehtml:
|
||||
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
|
||||
@echo
|
||||
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
|
||||
|
||||
pickle:
|
||||
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
|
||||
@echo
|
||||
@echo "Build finished; now you can process the pickle files."
|
||||
|
||||
json:
|
||||
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
|
||||
@echo
|
||||
@echo "Build finished; now you can process the JSON files."
|
||||
|
||||
htmlhelp:
|
||||
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
|
||||
@echo
|
||||
@echo "Build finished; now you can run HTML Help Workshop with the" \
|
||||
".hhp project file in $(BUILDDIR)/htmlhelp."
|
||||
|
||||
qthelp:
|
||||
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
|
||||
@echo
|
||||
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
|
||||
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
|
||||
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/OwncloudDocumentation.qhcp"
|
||||
@echo "To view the help file:"
|
||||
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/OwncloudDocumentation.qhc"
|
||||
|
||||
devhelp:
|
||||
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
|
||||
@echo
|
||||
@echo "Build finished."
|
||||
@echo "To view the help file:"
|
||||
@echo "# mkdir -p $$HOME/.local/share/devhelp/OwncloudDocumentation"
|
||||
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/OwncloudDocumentation"
|
||||
@echo "# devhelp"
|
||||
|
||||
epub:
|
||||
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
|
||||
@echo
|
||||
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
|
||||
|
||||
latex:
|
||||
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
||||
@echo
|
||||
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
|
||||
@echo "Run \`make' in that directory to run these through (pdf)latex" \
|
||||
"(use \`make latexpdf' here to do that automatically)."
|
||||
|
||||
latexpdf:
|
||||
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
||||
@echo "Running LaTeX files through pdflatex..."
|
||||
$(MAKE) -C $(BUILDDIR)/latex all-pdf
|
||||
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
|
||||
|
||||
pdf:
|
||||
$(SPHINXBUILD) -b pdf $(ALLSPHINXOPTS) $(BUILDDIR)/pdf
|
||||
@echo
|
||||
@echo "build finished. the text files are in $(BUILDDIR)/pdf."
|
||||
|
||||
text:
|
||||
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
|
||||
@echo
|
||||
@echo "build finished. the text files are in $(BUILDDIR)/text."
|
||||
|
||||
man:
|
||||
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
|
||||
@echo
|
||||
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
|
||||
|
||||
texinfo:
|
||||
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
|
||||
@echo
|
||||
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
|
||||
@echo "Run \`make' in that directory to run these through makeinfo" \
|
||||
"(use \`make info' here to do that automatically)."
|
||||
|
||||
info:
|
||||
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
|
||||
@echo "Running Texinfo files through makeinfo..."
|
||||
make -C $(BUILDDIR)/texinfo info
|
||||
@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
|
||||
|
||||
gettext:
|
||||
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
|
||||
@echo
|
||||
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
|
||||
|
||||
changes:
|
||||
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
|
||||
@echo
|
||||
@echo "The overview file is in $(BUILDDIR)/changes."
|
||||
|
||||
linkcheck:
|
||||
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
|
||||
@echo
|
||||
@echo "Link check complete; look for any errors in the above output " \
|
||||
"or in $(BUILDDIR)/linkcheck/output.txt."
|
||||
|
||||
doctest:
|
||||
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
|
||||
@echo "Testing of doctests in the sources finished, look at the " \
|
||||
"results in $(BUILDDIR)/doctest/output.txt."
|
||||
@@ -0,0 +1,101 @@
|
||||
=================================
|
||||
Building Your App With ownBrander
|
||||
=================================
|
||||
|
||||
Building an Android app requires just a few images, and the wizard tells you
|
||||
their required dimensions. They must be the exact specified dimensions,
|
||||
preferably in PNG format.
|
||||
|
||||
First, start on the Common tab and enter your application name and the URL to
|
||||
your ownCloud server. For testing purposes these can be anything. These are
|
||||
your global defaults, and you can change them when you create your apps. When
|
||||
you create production apps, then you must use your real app name, and the URL
|
||||
must point to your real ownCloud server.
|
||||
|
||||
.. image:: images/ownbrander-5.png
|
||||
|
||||
Next, go to the Android tab. This has three sections: **Required**,
|
||||
**Suggested**, and **Advanced**. Start in the **Required** section with your
|
||||
application name and server URL, which should be already entered from the
|
||||
Common tab. You may change these, and optionally check **Server URL visible**
|
||||
to
|
||||
allow users to change it.
|
||||
|
||||
.. image:: images/ownbrander-29.png
|
||||
|
||||
Now enter your Android package name. This is the unique name that identifies it
|
||||
to Google Play. Then enter your account type; this identifies it on your users'
|
||||
Android devices.
|
||||
|
||||
.. image:: images/ownbrander-6.png
|
||||
|
||||
Your next three options are **Show multiaccount or disconnect**, **Enable send
|
||||
to other apps features**, and **Enable SAML**. When you enable **Show
|
||||
multiaccount or disconnect**, your users can configure multiple ownCloud
|
||||
accounts. When it is disabled they see only a disconnect button.
|
||||
|
||||
**Enable SAML** is for ownCloud servers that use SAML (Security Assertion
|
||||
Markup
|
||||
Language) authentication.
|
||||
|
||||
**Enable send to other apps features** allows your users to open ownCloud files
|
||||
with other Android apps, such as file managers and photo galleries.
|
||||
|
||||
Next, upload your images. The wizard tells you the exact size they must be, and
|
||||
you can click the images on the right to see some example screenshots.
|
||||
|
||||
.. image:: images/ownbrander-7.png
|
||||
|
||||
You may enter a custom user agent, if you wish, and display a new account link
|
||||
button to your users. You need this to enable multiaccounts.
|
||||
|
||||
.. image:: images/ownbrander-8.png
|
||||
|
||||
.. _sign_android_app:
|
||||
|
||||
Signing Android Client
|
||||
----------------------
|
||||
|
||||
The next option is **Sign Android Client**. You can upload your signing
|
||||
certificate in the wizard so that is signed during the build process, or you
|
||||
can optionally sign your app after we build it. See
|
||||
:doc:`publishing_android_app` to learn how to sign your app after it is built.
|
||||
|
||||
.. note:: Google Play Store requires that certificates have a validity period
|
||||
ending after October 22, 2033. See
|
||||
`<http://developer.android.com/intl/es/tools/publishing/app-signing.
|
||||
html#considerations>`_.
|
||||
|
||||
**Root folder name** displays the root folder name on your user's devices.
|
||||
|
||||
**Help url** is for entering a link to your help page for the app.
|
||||
|
||||
**Activate "Recommend" option** displays a "recommend this app" option via
|
||||
email.
|
||||
|
||||
Use **Activate the option feedback** to display an email address for user
|
||||
feedback.
|
||||
|
||||
**Imprint URL** is for the about page on your Web site, or any page that has
|
||||
information about your company.
|
||||
|
||||
Enter any custom download link in **URL to download the app**.
|
||||
|
||||
Finally, if you are creating a paid app then check the checkbox for **Paid
|
||||
Users** and upload an icon.
|
||||
|
||||
.. image:: images/ownbrander-11.png
|
||||
|
||||
The **Suggested** and **Advanced** sections allow you to further customize your
|
||||
branding with custom colors and images.
|
||||
|
||||
When you are finished click the **Generate Android App** button, and you will
|
||||
either see a success message, or an error message telling you what you need to
|
||||
fix. Note also that at the bottom of the wizard, the name and version of
|
||||
your new app is displayed, for example **The version that it will be generated
|
||||
is: oc-android-2.0.0_signed**. When all of your options are
|
||||
entered correctly and you click the Generate
|
||||
Android App button, it takes up to 48 hours for your app to appear in your
|
||||
`Customer.owncloud.com <https://customer.owncloud.com/owncloud/>`_ account.
|
||||
|
||||
.. image:: images/ownbrander-12.png
|
||||
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 165 KiB After Width: | Height: | Size: 165 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 9.1 KiB After Width: | Height: | Size: 9.1 KiB |
|
After Width: | Height: | Size: 79 KiB |
|
After Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 64 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 67 KiB |
|
After Width: | Height: | Size: 136 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 78 KiB |
|
Before Width: | Height: | Size: 53 KiB After Width: | Height: | Size: 53 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 67 KiB After Width: | Height: | Size: 67 KiB |
|
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 104 KiB After Width: | Height: | Size: 104 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
10
branded_mobile_clients/branded_android_app/index.rst
Normal file
@@ -0,0 +1,10 @@
|
||||
===============================================
|
||||
Building Branded Android Apps (Enterprise only)
|
||||
===============================================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 3
|
||||
|
||||
building_branded_android_client
|
||||
publishing_android_app
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
=======================================================
|
||||
Distributing Your Branded Android App (Enterprise Only)
|
||||
=======================================================
|
||||
=====================================
|
||||
Distributing Your Branded Android App
|
||||
=====================================
|
||||
|
||||
Now that you have created your branded Android app with ownCloud's ownBuilder
|
||||
service (:doc:`creating_branded_apps`) how do you distribute it to your users?
|
||||
There are multiple ways: :ref:`email`, :ref:`publish_server`, or
|
||||
service (:doc:`building_branded_android_client`) how do you distribute it to
|
||||
your users? There are multiple ways: :ref:`email`, :ref:`publish_server`, or
|
||||
:ref:`publish_google_play`. However you distribute it, the first step is to
|
||||
digitally sign your new app. Signing your app verifies authorship and
|
||||
authenticity.
|
||||
@@ -12,10 +12,10 @@ authenticity.
|
||||
When you create your branded Android app we supply you with two ``.apk`` files:
|
||||
one for debugging and testing, and one for deployment, like these examples::
|
||||
|
||||
acmecloud_1.7.0-debug.apk
|
||||
acmecloud_1.7.0-release-unsigned.apk
|
||||
acmecloud_2.0.0-debug.apk
|
||||
acmecloud_2.0.0-release-unsigned.apk
|
||||
|
||||
The second ``.apk`` file, ``acmecloud_1.7.0-release-unsigned.apk``, is the one
|
||||
The second ``.apk`` file, ``acmecloud_2.0.0-release-unsigned.apk``, is the one
|
||||
you will sign and distribute.
|
||||
|
||||
Digitally Signing Android Apps
|
||||
@@ -75,12 +75,12 @@ computer and use it. Go to `Android Software Development Kit
|
||||
<https://developer.android.com/sdk/index.html>`_ and click the
|
||||
"Download Android Studio" button.
|
||||
|
||||
.. image:: ../images/android_custom_17.png
|
||||
.. image:: images/android_custom_17.png
|
||||
:scale: 75%
|
||||
|
||||
Download the appropriate **SDK Tools Only** package for your operating system.
|
||||
|
||||
.. image:: ../images/android_custom_18.png
|
||||
.. image:: images/android_custom_18.png
|
||||
:scale: 75%
|
||||
|
||||
Unpack it and change to the unpacked directory, which is ``android-sdk-linux``
|
||||
@@ -204,22 +204,23 @@ Distribution via Email
|
||||
|
||||
You can download your branded Android app from your account on
|
||||
`Customer.owncloud.com <https://customer.owncloud.com/owncloud>`_, and send it
|
||||
as an email attachment to your users. (This is not the optimal way to distribute
|
||||
as an email attachment to your users. (This is not the optimal way to
|
||||
distribute
|
||||
it as it is over 2 megabytes in size.) When they open your email on their
|
||||
Android phone or tablet, they must first click the the download arrow (bottom
|
||||
right of the screenshot) to download your app.
|
||||
|
||||
.. image:: ../images/android_custom_1.png
|
||||
.. image:: images/android_custom_1.png
|
||||
|
||||
When the arrow changes to a green checkbox, it has been downloaded.
|
||||
|
||||
.. image:: ../images/android_custom_2.png
|
||||
.. image:: images/android_custom_2.png
|
||||
|
||||
Now your user must click on the green checkbox, and this launches the app
|
||||
installer, and all they have to do is follow the installation wizard to install
|
||||
your branded app.
|
||||
|
||||
.. image:: ../images/android_custom_3.png
|
||||
.. image:: images/android_custom_3.png
|
||||
:scale: 75%
|
||||
|
||||
When the installation is complete, the `ownCloud Android App Manual
|
||||
@@ -269,37 +270,37 @@ time-consuming task is creating all the required graphics. After registering,
|
||||
you'll see the welcome screen for the Google Dev Console. Click **Publish an
|
||||
Android app on Google Play**.
|
||||
|
||||
.. image:: ../images/android_custom_6.png
|
||||
.. image:: images/android_custom_6.png
|
||||
|
||||
This opens the **Add New Application** screen. Click the **Prepare Store
|
||||
Listing** button. (Note that as you navigate the various screens, you can click
|
||||
the Save Draft button to preserve your changes.)
|
||||
|
||||
.. image:: ../images/android_custom_7.png
|
||||
.. image:: images/android_custom_7.png
|
||||
|
||||
On the next screen, enter your product description.
|
||||
|
||||
.. image:: ../images/android_custom_8.png
|
||||
.. image:: images/android_custom_8.png
|
||||
:scale: 75%
|
||||
|
||||
Then you'll have to upload a batch of graphics in various sizes for the
|
||||
**Graphic Assets** section, like these images for a smartphone and seven-inch
|
||||
tablet. You are required to upload at least two images.
|
||||
|
||||
.. image:: ../images/android_custom_9.png
|
||||
.. image:: images/android_custom_9.png
|
||||
|
||||
You must also upload a 512x512-pixel logo, and a 1024x500 banner.
|
||||
|
||||
.. image:: ../images/android_custom_10.png
|
||||
.. image:: images/android_custom_10.png
|
||||
|
||||
Now choose the store categories for your app.
|
||||
|
||||
.. image:: ../images/android_custom_11.png
|
||||
.. image:: images/android_custom_11.png
|
||||
|
||||
Then enter your contact information, which will be visible on your store
|
||||
listing.
|
||||
|
||||
.. image:: ../images/android_custom_12.png
|
||||
.. image:: images/android_custom_12.png
|
||||
|
||||
On the next line you may optionally link to your privacy policy. It is
|
||||
recommended to have a privacy policy.
|
||||
@@ -313,7 +314,7 @@ Android Wear, Android TV, and various Google marketing tie-ins, and many more.
|
||||
For now let's make this a free app, so click the Free button and select the
|
||||
countries you want to distribute it in.
|
||||
|
||||
.. image:: ../images/android_custom_13.png
|
||||
.. image:: images/android_custom_13.png
|
||||
:scale: 75%
|
||||
|
||||
Now you may upload your app.
|
||||
@@ -322,53 +323,77 @@ Uploading to Google Play Store
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Now you can upload your app to your Google Play Store page. Go to the **APK**
|
||||
page and click **Upload your first APK to Production**. You don't need a license
|
||||
page and click **Upload your first APK to Production**. You don't need a
|
||||
license
|
||||
key for a free app.
|
||||
|
||||
.. image:: ../images/android_custom_14.png
|
||||
.. image:: images/android_custom_14.png
|
||||
:scale: 75%
|
||||
|
||||
Drag-and-drop, or browse to select your app.
|
||||
|
||||
.. image:: ../images/android_custom_15.png
|
||||
.. image:: images/android_custom_15.png
|
||||
|
||||
A successful upload looks like this:
|
||||
|
||||
.. image:: ../images/android_custom_20.png
|
||||
.. image:: images/android_custom_20.png
|
||||
:scale: 75%
|
||||
|
||||
Your app is not yet published, but only uploaded to your account. There is one
|
||||
more step to take before you can publish, and that is to go back to the
|
||||
**Pricing & Distribution** page and fill out the **Consent** section.
|
||||
|
||||
.. image:: ../images/android_custom_21.png
|
||||
.. image:: images/android_custom_21.png
|
||||
:scale: 75%
|
||||
|
||||
Click the Save Draft button, and if you followed all the required steps you
|
||||
should now see a **Publish App** button.
|
||||
|
||||
.. image:: ../images/android_custom_22.png
|
||||
.. image:: images/android_custom_22.png
|
||||
|
||||
It will not be published immediately, but after review by Google, which usually
|
||||
takes just a few hours.
|
||||
|
||||
.. image:: ../images/android_custom_23.png
|
||||
.. image:: images/android_custom_23.png
|
||||
|
||||
After it has been published, your store listing is updated as PUBLISHED, and it
|
||||
includes a link to your Play Store listing.
|
||||
|
||||
.. image:: ../images/android_custom_24.png
|
||||
.. image:: images/android_custom_24.png
|
||||
|
||||
Now all you need to do is distribute the URL to your users, and they can
|
||||
install it either from their Web browsers, or from their Google Play Store
|
||||
apps. This is how it looks to your users.
|
||||
|
||||
.. image:: ../images/android_custom_25.png
|
||||
.. image:: images/android_custom_25.png
|
||||
|
||||
See :doc:`custom_client_repos` to learn how to configure your ownCloud server
|
||||
to use the link to your branded app instead of the ownCloud app, and see the
|
||||
**Theming the First Run Wizard** section of :doc:`../operations/theming` to
|
||||
learn how to create a custom icon for your branded app.
|
||||
Customize Download Link
|
||||
-----------------------
|
||||
|
||||
You may configure the URLs to your own download repositories for your ownCloud
|
||||
desktop clients and mobile apps in :file:`config/config.php`. This example shows
|
||||
the default download locations:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
<?php
|
||||
|
||||
"customclient_desktop" => "https://owncloud.org/sync-clients/",
|
||||
"customclient_android" =>
|
||||
"https://play.google.com/store/apps/details?id=com.owncloud.android",
|
||||
"customclient_ios" =>
|
||||
"https://itunes.apple.com/us/app/owncloud/id543672169?mt=8",
|
||||
|
||||
Simply replace the URLs with the links to your own preferred download repos.
|
||||
|
||||
You may test alternate URLs without editing :file:`config/config.php` by setting
|
||||
a test URL as an environment variable::
|
||||
|
||||
export OCC_UPDATE_URL=https://test.example.com
|
||||
|
||||
When you're finished testing you can disable the environment variable::
|
||||
|
||||
unset OCC_UPDATE_URL
|
||||
|
||||
Publishing a Paid App in Google Play
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
@@ -382,7 +407,7 @@ click the **Learn more** link under the Free/Paid button for a nice thorough
|
||||
review of the process and tools. It requires verifying your business
|
||||
information and bank account, and you should expect it to take 3-4 days.
|
||||
|
||||
.. image:: ../images/android_custom_26.png
|
||||
.. image:: images/android_custom_26.png
|
||||
|
||||
When you're ready to set it up, click the **Set up a merchant account now**
|
||||
link under the Free/Paid button.
|
||||
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 51 KiB |
|
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 88 KiB |
|
Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 89 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 116 KiB After Width: | Height: | Size: 116 KiB |
|
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 54 KiB |
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 98 KiB After Width: | Height: | Size: 98 KiB |
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 57 KiB |
|
Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 48 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 65 KiB |
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 69 KiB After Width: | Height: | Size: 69 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 59 KiB |
|
Before Width: | Height: | Size: 7.2 KiB After Width: | Height: | Size: 7.2 KiB |
|
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 72 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 61 KiB After Width: | Height: | Size: 61 KiB |
|
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 91 KiB After Width: | Height: | Size: 91 KiB |