{ "info": { "author": "Jonathan Ehwald", "author_email": "pypi@ehwald.info", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Django", "Framework :: Django :: 1.11", "Framework :: Django :: 2.0", "Framework :: Django :: 2.1", "Framework :: Django :: 2.2", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Internet :: WWW/HTTP" ], "description": "# Django Admob Server-Side Verification (SSV)\n\nA Django app providing a view that handles Admob Server-Side Verification callbacks. Successfull verifications trigger a custom signal. Separate apps may listen to that signal and reward the user based on the information received via the callback.\n\nTaken from the [Admob SSV documentation](https://developers.google.com/admob/android/rewarded-video-ssv):\n\nServer-side verification callbacks are URL requests, with query parameters expanded by Google, that are sent by Google to an external system to notify it that a user should be rewarded for interacting with a rewarded video ad. Rewarded video SSV (server-side verification) callbacks provide an extra layer of protection against spoofing of client-side callbacks to reward users.\n\n## Requirements\n\n- Python 3\n- [Django](https://pypi.org/project/Django/) (version 1.11+)\n- [ecdsa](https://pypi.org/project/ecdsa/)\n\n## Installation\n\n```pip install django-admob-ssv```\n\n## Configuration\n\n1. Add a ```path``` for the ```django_admob_ssv.views.admob_ssv``` view to your ```urlpatterns```.\n\n```python\nfrom django.urls import path\nfrom django_admob_ssv.views import admob_ssv\n\nurlpatterns = [\n path('admob-ssv/', admob_ssv),\n]\n```\n\n2. Listen to the ```django_admob_ssv.signals.valid_admob_ssv``` signal.\n\n```python\nfrom django.dispatch import receiver\nfrom django_admob_ssv.signals import valid_admob_ssv\n\n@receiver(valid_admob_ssv)\ndef reward_user(sender, query, **kwargs):\n ad_network = query.get('ad_network')\n ad_unit = query.get('ad_unit')\n custom_data = query.get('custom_data')\n # ...\n```\n\nTake a look at this [list of all SSV callback parameters](https://developers.google.com/admob/android/rewarded-video-ssv).\n\nAlso make sure you [connect your receiver properly](https://docs.djangoproject.com/en/2.2/topics/signals/#connecting-receiver-functions), otherwise it won't get called. (Take a look at the \"Where should this code live?\" box).\n\n## Examples\n\nTake a look at the \"Configuration\" section above and the provided ```example_project```.", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/DoctorJohn/django-admob-ssv", "keywords": "", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "django-admob-ssv", "package_url": "https://pypi.org/project/django-admob-ssv/", "platform": "", "project_url": "https://pypi.org/project/django-admob-ssv/", "project_urls": { "Homepage": "https://github.com/DoctorJohn/django-admob-ssv" }, "release_url": "https://pypi.org/project/django-admob-ssv/1.0.3/", "requires_dist": null, "requires_python": "", "summary": "Admob Server-Side Verification for Django projects", "version": "1.0.3" }, "last_serial": 5993341, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "151ac30a08bda3ccbd84750bcf5578f5", "sha256": "16787cc1e6d69356d1683fcf788a483ad15d993972cd479dcc323c4f070aabc2" }, "downloads": -1, "filename": "django_admob_ssv-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "151ac30a08bda3ccbd84750bcf5578f5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5953, "upload_time": "2019-09-29T00:58:55", "url": "https://files.pythonhosted.org/packages/8d/d3/e118ba0c533993d1d1905911995ab7116d14b4e88cffa2d0976020849433/django_admob_ssv-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c10c522bc0d68613e51e25237c56c8d7", "sha256": "042afda7fed01d595a5cbfa59a2faa777266539def7a27cd57e018d28bce1ddc" }, "downloads": -1, "filename": "django-admob-ssv-1.0.0.tar.gz", "has_sig": false, "md5_digest": "c10c522bc0d68613e51e25237c56c8d7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3775, "upload_time": "2019-09-29T00:58:58", "url": "https://files.pythonhosted.org/packages/54/b4/5facb994217ed1ee9ed3d023c430324230d123c78d2d9d471304003d856f/django-admob-ssv-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "2e24e84dd83134726133cc0868aff089", "sha256": "bf1e4cffa4ea7885de559e96d9f2f085f0e4d0a75e02dbd5bd5dd4bce27cf19c" }, "downloads": -1, "filename": "django_admob_ssv-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "2e24e84dd83134726133cc0868aff089", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5948, "upload_time": "2019-09-29T13:29:07", "url": "https://files.pythonhosted.org/packages/c3/9d/22ed468ab809845dff0c52d30f6949cc1f854da10319d852369cb2f1f8aa/django_admob_ssv-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a56d1d65ff8b0aafb13c924445f1880f", "sha256": "e084e83a59a846a0b977823e60ed573f7afa7707440c2ae47e3f362bbf9270bc" }, "downloads": -1, "filename": "django-admob-ssv-1.0.1.tar.gz", "has_sig": false, "md5_digest": "a56d1d65ff8b0aafb13c924445f1880f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3770, "upload_time": "2019-09-29T13:29:11", "url": "https://files.pythonhosted.org/packages/80/53/4fd569734fae5685cba3bea80553da38ebbacb5cec8dad93bf26a67790e3/django-admob-ssv-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "0984e7cfa0fc5ad9225a358d6f6841b5", "sha256": "80b13efeb2d8064ab31d4da2081c9ffc0128235c8884f3e7db95ee63fe928a33" }, "downloads": -1, "filename": "django-admob-ssv-1.0.2.tar.gz", "has_sig": false, "md5_digest": "0984e7cfa0fc5ad9225a358d6f6841b5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3914, "upload_time": "2019-10-18T01:51:22", "url": "https://files.pythonhosted.org/packages/f5/3a/eba46ff9a7786d2595e7a17de4eb72e7fa021d669ab26116030bdd95f493/django-admob-ssv-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "6984ebf1df78014484559e27b7c5b74c", "sha256": "b4332f2af7b6214efadb500ed431eaaa0d0618f5d4ddd78dfef6f21952bb4c69" }, "downloads": -1, "filename": "django-admob-ssv-1.0.3.tar.gz", "has_sig": false, "md5_digest": "6984ebf1df78014484559e27b7c5b74c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3906, "upload_time": "2019-10-18T02:12:33", "url": "https://files.pythonhosted.org/packages/b2/e9/fff13fd3b89ab8813e48c42860ec4fab68a2438ee390846cb6a7c7a7ee1c/django-admob-ssv-1.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6984ebf1df78014484559e27b7c5b74c", "sha256": "b4332f2af7b6214efadb500ed431eaaa0d0618f5d4ddd78dfef6f21952bb4c69" }, "downloads": -1, "filename": "django-admob-ssv-1.0.3.tar.gz", "has_sig": false, "md5_digest": "6984ebf1df78014484559e27b7c5b74c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3906, "upload_time": "2019-10-18T02:12:33", "url": "https://files.pythonhosted.org/packages/b2/e9/fff13fd3b89ab8813e48c42860ec4fab68a2438ee390846cb6a7c7a7ee1c/django-admob-ssv-1.0.3.tar.gz" } ] }